libcurl http頭默認的Expect: 100-continue
默認是100-continue,原理:
- 先追加一個
Expect: 100-continue
請求頭信息,發送這個不包含 POST 數據的請求; - 如果服務器返回的響應頭信息中包含
Expect: 100-continue
,則表示 Server 願意接受數據,這時才 POST 真正數據給 Server;
影響: server 回覆一個< HTTP/1.1 100 Continue, 客戶端一直不發數據,就一直卡着。
修復方法:
headers = curl_slist_append(headers, "Expect:");