我正在为第三方私有API实现HTTP客户端。此API要求不使用HTTP Keep-Alive。libcurl
可以禁用Keep-Alive吗?即使当我设置CURLOPT_FORBID_REUSE
,它仍然发送Connection: Keep-Alive
头和混淆服务器。它甚至发送这个头,如果我手动设置Connection: close
头。在这种情况下,libcurl
发送Connection: Keep-Alive
和Connection: close
HTTP头。有没有人知道如何强迫libcurl
永远不要重用连接,并发送Connection: close
头通知服务器,它不使用连接,或者Connection: Keep-Alive
在libcurl
中硬编码,不能改变?
这可以通过CURLOPT_HTTPHEADER
:
#include <curl/curl.h>
int main(void) {
CURL *curl = curl_easy_init();
struct curl_slist *list = NULL;
if(curl) {
curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
list = curl_slist_append(list, "Connection: close");
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, list);
curl_easy_perform(curl);
curl_slist_free_all(list);
curl_easy_cleanup(curl);
}
}