使用C语言,用http的post方法上传json格式的文本内容的示例代码
时间: 2023-06-08 13:04:29 浏览: 116
好的,请看以下示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <curl/curl.h>
int main(void)
{
CURL *curl;
CURLcode res;
/* 创建 CURL 句柄 */
curl = curl_easy_init();
if(curl) {
/* 设置 POST 请求 URL */
curl_easy_setopt(curl, CURLOPT_URL, "http://example.com/api");
/* 设置 POST 请求 JSON 内容*/
char *json_str = "{\"name\":\"John Doe\",\"age\":31,\"city\":\"New York\"}";
curl_easy_setopt(curl, CURLOPT_POSTFIELDS, json_str);
/* 设置请求头信息 */
struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "Content-Type: application/json");
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
/* 发起 POST 请求 */
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 句柄 */
curl_easy_cleanup(curl);
}
return 0;
}
```
这段代码使用 libcurl 库实现了用 HTTP POST 方法上传 JSON 格式的文本内容。其中,通过 `curl_easy_setopt` 函数设置了 POST 请求的 URL 和 JSON 内容,并使用 `curl_slist` 结构体设置了请求头信息,最后使用 `curl_easy_perform` 函数发起请求。
阅读全文