HTTP 标头未在 C++ 中使用 Curl 设置

HTTP Header not set using Curl in C++

本文关键字:Curl 设置 C++ HTTP      更新时间:2023-10-16

我对HTTP命令和libcurl库很陌生,所以我很有可能不了解一些基本的东西。也就是说,我正在尝试使用 curl 设置标头C++但是当我尝试获取内容类型时,返回了一个空值。我无法弄清楚为什么会发生这种情况。这是一段代码:

// 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: %sn", ct);
}

任何帮助将不胜感激!!

来自 libcurl 文档:

概要

#include <curl/curl.h> 
CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_CONTENT_TYPE, char **ct); 

描述

将指针传递给 char 指针以接收下载对象的内容类型。这是从"内容类型:"字段中读取的值。如果得到 NULL,则表示服务器未发送有效的内容类型标头,或者使用的协议不支持此功能。

返回值

如果该选项受支持,则返回CURLE_OK,如果不支持,则返回CURLE_UNKNOWN_OPTION