libcur实现http请求发送json
时间: 2023-10-13 18:07:38 浏览: 83
libcurl是一个强大的开源网络库,可以用来发送HTTP请求。下面是使用libcurl发送HTTP请求并发送JSON数据的示例代码:
```c
#include <stdio.h>
#include <curl/curl.h>
int main(void) {
CURL *curl;
CURLcode res;
struct curl_slist *headers = NULL;
const char *json_data = "{\"name\": \"John Doe\", \"age\": 30}";
curl = curl_easy_init();
if(curl) {
// 设置请求头
headers = curl_slist_append(headers, "Content-Type: application/json");
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
// 设置请求方法和URL
curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "POST");
curl_easy_setopt(curl, CURLOPT_URL, "http://example.com/api");
// 发送JSON数据
curl_easy_setopt(curl, CURLOPT_POSTFIELDS, json_data);
// 执行请求
res = curl_easy_perform(curl);
if(res != CURLE_OK) {
fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res));
}
// 清除资源
curl_slist_free_all(headers);
curl_easy_cleanup(curl);
}
return 0;
}
```
注:该示例代码需要链接`curl`库,编译时需要添加`-lcurl`选项。
阅读全文