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:");