我是HTTP命令和libcurl库的新手,所以很有可能我不理解一些基本的东西。也就是说,我试图在C ++中使用curl设置头文件,但是当我尝试获取Content-Type时,返回null值。我无法弄清楚为什么会这样。这是一段代码:
// HTTP headers to send with request
struct curl_slist* headers = nullptr;
// Set Content-Type to application/x-hybrid-thrift-binary
headers = curl_slist_append(headers, "Content-Type: application/x-hybrid-thrift-binary");
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
CURLcode ret = curl_easy_perform(curl);
// Extract the content-type
char *ct = nullptr;
ret = curl_easy_getinfo(curl, CURLINFO_CONTENT_TYPE, &ct);
if(!ret) {
printf("Content-Type: %s\n", ct);
}
任何帮助都将受到高度赞赏!!!
答案 0 :(得分:2)
来自libcurl docs:
概要
#include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_CONTENT_TYPE, char **ct);
说明
将指针传递给char指针以接收下载对象的内容类型。这是从Content-Type:字段读取的值。 如果您获得NULL,则表示服务器未发送有效的Content-Type标头,或者所使用的协议不支持此功能。
返回值
如果支持该选项,则返回
CURLE_OK
,否则返回CURLE_UNKNOWN_OPTION
。