继续收到 400 Bad Request: invalid header name with the libcurl with the X-API-Key header
Keep getting 400 Bad Request: invalid header name with libcurl with the X-API-Key header
基本上,我只是想 运行 使用 libcurl 在我的 C++ 应用程序上执行此 curl 命令。
curl http://127.0.0.1:8384/rest/events -H "X-API-Key: WuCS7KQtyoRxbWDZ4zsSbjUdU4T"
该命令在命令提示符下运行良好。但是当我尝试将它与 libcurl 一起使用时,我不断收到 400 Bad Request: invalid header name 错误。我浏览了其他几个类似的线程,但找不到解决方案。我现在真的束手无策了。 :(
间距和语法看起来不错....感谢您的帮助。
代码如下:
static size_t my_write( void* buffer, size_t size, size_t nmemb, void* param )
{
std::string& text = *static_cast< std::string* >( param );
size_t totalsize = size * nmemb;
text.append( static_cast< char* >( buffer ), totalsize );
return totalsize;
}
int main()
{
std::string result;
CURL* curl;
CURLcode res;
curl_global_init( CURL_GLOBAL_DEFAULT );
curl = curl_easy_init();
if ( curl )
{
curl_easy_setopt( curl, CURLOPT_URL, "http://127.0.0.1:8384/rest/events" );
curl_easy_setopt( curl, CURLOPT_WRITEFUNCTION, my_write );
curl_easy_setopt( curl, CURLOPT_WRITEDATA, &result );
curl_easy_setopt( curl, CURLOPT_VERBOSE, 1L );
struct curl_slist *header = NULL;
header = curl_slist_append( header, "-H \"X-API-Key: WuCS7KQtyoRxbWDZ4zsSbjUdU4T\"" );
curl_easy_setopt( curl, CURLOPT_HTTPHEADER, header );
res = curl_easy_perform( curl );
curl_easy_cleanup( curl );
}
curl_global_cleanup();
std::cout << result << "\n\n";
}
调用 curl_slist_append()
时不要包含 -H
开关。该开关仅适用于命令行 curl.exe
应用程序。它告诉应用程序 以下 数据应传递给 curl_slist_append()
.
改用这个:
curl_slist *header = curl_slist_append(NULL, "X-API-Key: WuCS7KQtyoRxbWDZ4zsSbjUdU4T");
基本上,我只是想 运行 使用 libcurl 在我的 C++ 应用程序上执行此 curl 命令。
curl http://127.0.0.1:8384/rest/events -H "X-API-Key: WuCS7KQtyoRxbWDZ4zsSbjUdU4T"
该命令在命令提示符下运行良好。但是当我尝试将它与 libcurl 一起使用时,我不断收到 400 Bad Request: invalid header name 错误。我浏览了其他几个类似的线程,但找不到解决方案。我现在真的束手无策了。 :( 间距和语法看起来不错....感谢您的帮助。
代码如下:
static size_t my_write( void* buffer, size_t size, size_t nmemb, void* param )
{
std::string& text = *static_cast< std::string* >( param );
size_t totalsize = size * nmemb;
text.append( static_cast< char* >( buffer ), totalsize );
return totalsize;
}
int main()
{
std::string result;
CURL* curl;
CURLcode res;
curl_global_init( CURL_GLOBAL_DEFAULT );
curl = curl_easy_init();
if ( curl )
{
curl_easy_setopt( curl, CURLOPT_URL, "http://127.0.0.1:8384/rest/events" );
curl_easy_setopt( curl, CURLOPT_WRITEFUNCTION, my_write );
curl_easy_setopt( curl, CURLOPT_WRITEDATA, &result );
curl_easy_setopt( curl, CURLOPT_VERBOSE, 1L );
struct curl_slist *header = NULL;
header = curl_slist_append( header, "-H \"X-API-Key: WuCS7KQtyoRxbWDZ4zsSbjUdU4T\"" );
curl_easy_setopt( curl, CURLOPT_HTTPHEADER, header );
res = curl_easy_perform( curl );
curl_easy_cleanup( curl );
}
curl_global_cleanup();
std::cout << result << "\n\n";
}
调用 curl_slist_append()
时不要包含 -H
开关。该开关仅适用于命令行 curl.exe
应用程序。它告诉应用程序 以下 数据应传递给 curl_slist_append()
.
改用这个:
curl_slist *header = curl_slist_append(NULL, "X-API-Key: WuCS7KQtyoRxbWDZ4zsSbjUdU4T");