這篇文章主要介紹了php使用curl出現(xiàn)Expect:100-continue解決方法,實例分析了Expect:100-continue出現(xiàn)的原理與解決方法,具有一定參考借鑒價值,需要的朋友可以參考下
本文實例講述了php使用curl出現(xiàn)Expect:100-continue解決方法。分享給大家供大家參考。具體如下:
使用curl POST數(shù)據(jù)時,如果POST的數(shù)據(jù)大于1024字節(jié),curl并不會直接就發(fā)起POST請求。而是會分兩步。
1.發(fā)送一個請求,header中包含一個Expect:100-continue,詢問Server是否愿意接受數(shù)據(jù)。
2.接受到Server返回的100-continue回應(yīng)后,才把數(shù)據(jù)POST到Server。
這個是libcurl定義的,具體可以查看相關(guān)描述:
于是這樣就會出現(xiàn)一個問題。并不是所有的Server都會回應(yīng)100-continue的。例如lighttpd,會返回"417 Expectation Fail",會造成邏輯錯誤。
解決方法如下,就是發(fā)送請求時,header中包含一個空的Expect。
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Expect:"));
希望本文所述對大家的php程序設(shè)計有所幫助。
更多信息請查看IT技術(shù)專欄