使用libcurl,用C语言编写一个http和https客户端,请求头能够自定义
时间: 2024-04-04 18:29:42 浏览: 198
基于libcurl 的http异步请求
5星 · 资源好评率100%
好的,以下是一个可以自定义请求头的libcurl示例代码,可以用于发送HTTP和HTTPS请求:
```c
#include <stdio.h>
#include <curl/curl.h>
int main(void)
{
CURL *curl;
CURLcode res;
struct curl_slist *headers = NULL;
curl = curl_easy_init();
if(curl) {
// 设置请求头
headers = curl_slist_append(headers, "Content-Type: application/json");
headers = curl_slist_append(headers, "Authorization: Bearer TOKEN");
// 设置请求地址
curl_easy_setopt(curl, CURLOPT_URL, "https://www.example.com/api");
// 设置请求头
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
// 执行请求
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;
}
```
这个示例代码中,我们首先创建了一个`curl_slist`类型的变量`headers`,用于存储请求头信息。然后使用`curl_slist_append`函数添加了两个请求头信息,即Content-Type和Authorization,并将`headers`作为选项传递给了`curl_easy_setopt`函数。
使用`curl_easy_setopt`函数设置了请求地址,然后使用`curl_easy_perform`函数执行请求。执行完请求后,我们使用`curl_slist_free_all`函数释放了请求头内存,并使用`curl_easy_cleanup`函数清理了curl句柄。
你可以根据自己的需求修改请求头信息。此外,你还可以使用`curl_easy_setopt`函数设置其他选项,如请求方式、请求体等。有关更多信息,请参阅libcurl文档。
阅读全文