C++ curl 下载文件 http请求头怎么设置
时间: 2024-03-06 11:39:37 浏览: 26
在使用 C++ 的 curl 库进行文件下载和 http 请求时,可以通过设置请求头来传递一些信息给服务器。以下是一个简单的示例:
```cpp
#include <curl/curl.h>
int main()
{
CURL *curl;
CURLcode res;
curl = curl_easy_init();
if (curl) {
curl_easy_setopt(curl, CURLOPT_URL, "http://example.com/file.zip");
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, "User-Agent: Mozilla/5.0");
curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L);
res = curl_easy_perform(curl);
if (res != CURLE_OK)
fprintf(stderr, "curl_easy_perform() failed: %s\n",
curl_easy_strerror(res));
curl_easy_cleanup(curl);
}
return 0;
}
```
在上面的代码中,我们使用了 `curl_easy_setopt` 函数来设置 curl 的选项。`CURLOPT_URL` 选项指定了要下载的文件的 URL,`CURLOPT_HTTPHEADER` 选项设置了请求头,`CURLOPT_FOLLOWLOCATION` 选项开启了重定向跟随。
需要注意的是,在设置请求头时,多个头信息之间需要用 `\r\n` 进行分隔。另外,如果要设置多个头信息,需要使用一个类似于下面的字符串:
```
"Content-Type: application/json\r\nAuthorization: Bearer {token}\r\n"
```
其中,`{token}` 部分需要替换为实际的 token。