how to make requests of http2 using curl
Date: Tue, 17 Dec 2019 14:44:11 +0800 (CST)
I have wriiten the code below to make a http2 request, but the debug info showed me that it's http 1.1, would you please tell me why and how should I amend it:
curl_global_init(CURL_GLOBAL_ALL);
CURL* easy_handle = curl_easy_init();
struct curl_slist* head = NULL;
char *form_data = "Content-Disposition: form-data; name=\"metadata\"";
head = curl_slist_append(head, form_data);
head = curl_slist_append(head, "Content-Type:application/json;charset=UTF-8");
curl_easy_setopt(easy_handle, CURLOPT_HTTPHEADER, head);
//curl_easy_setopt(easy_handle, CURLOPT_URL, "ai-test.xfyousheng.com:91");
curl_easy_setopt(easy_handle, CURLOPT_URL, "https://nghttp2.org/");
curl_multi_setopt(easy_handle, CURLMOPT_PIPELINING, CURLPIPE_MULTIPLEX);
curl_easy_setopt(easy_handle, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_2_0);
curl_easy_setopt(easy_handle, CURLOPT_POSTFIELDS, request_json->data);
curl_easy_setopt(easy_handle, CURLOPT_WRITEFUNCTION, WriteMemoryCallback);
data_chunk_t chunk;
chunk.data = malloc(1); /* will be grown as needed by the realloc above */
chunk.size = 0; /* no data at this point */
curl_easy_setopt(easy_handle, CURLOPT_WRITEDATA, &chunk);
curl_easy_setopt(easy_handle, CURLOPT_SSL_VERIFYPEER, 0L);//ºöÂÔÖ¤Êé¼ì²é
curl_easy_setopt(easy_handle, CURLOPT_SSL_VERIFYHOST, 0L);
/* please be verbose */
curl_easy_setopt(easy_handle, CURLOPT_VERBOSE, 1L);
curl_easy_setopt(easy_handle, CURLOPT_DEBUGFUNCTION, my_trace);
CURLcode code;
code = curl_easy_perform(easy_handle);
long retcode = 0;
code = curl_easy_getinfo(easy_handle, CURLINFO_RESPONSE_CODE, &retcode);
-------------------------------------------------------------------
Unsubscribe: https://cool.haxx.se/list/listinfo/curl-library
Etiquette: https://curl.haxx.se/mail/etiquette.html
Received on 2019-12-17