使用curl POST資料時,如果POST的資料大於1024位元組,curl並不會直接就發起POST請求。而是會分兩步。
1.傳送一個請求,header中包含一個Expect:100-continue,詢問Server是否願意接受資料。
2.接受到Server返回的100-continue回應後,才把資料POST到Server。
但是!並不是所有的伺服器都會回應100-continue的,這次就在檔案上傳的時候沒有接受到任何返回資料,很是費解啊。
解決方法:
curl_setopt($curl, CURLOPT_HTTPHEADER, array("Expect:"));
curl請求頭設定一個空的Expect。