问题
使用Curl POST数据时,如果POST的数据大于1024字节,Curl并不会直接发起POST请求,而是分两步:
- 发送一个请求,Header中包含一个Expect:100-continue,询问Server是否愿意接受数据
- 接受到Server返回的100-continue回应后,才把数据Post到Server
详细见libcurl定义
解决
发送请求时,header中包含一个空的Expect
curl_setopt($ch, CURLOPT_HTTPHEADER, ["Expect:"])