【PHP】Curl POST 請求超時,返回錯誤信息:empty reply from server


最近做一個爬蟲項目,需要curl請求第三方系統,其中一個請求放到postman的時候秒回,代碼curl請超時,打印錯誤信息:empty reply from server

翻閱網上資料無果,只能用排除法,去掉請求的一些配置看是哪里影響了,最后發現去掉post data 后請求秒回,雖然返回的是請求失敗,但是問題就錯在Post data上面了

感覺觀察發現請求的數據比以往的參數要大,猜測是POST數據過大,再次翻閱資料,以下方法可以解決(注意是在原來的頭部信息中添加一個請求頭):

在使用phpcurl post數據的時候,當數據超過1k的時候,會失敗,不會直接發起請求,而是分為兩步:

一,發送一個請求,包含“Expect:100-continue”頭域,詢問SERVER是否願意接收

二,接收到SERVER返回的 100-continue應答以后,才可以繼續POST數據

解決辦法:

添加curl請求頭

curl_setopt($ch,CURLOPT_HTTPHEADER,array(“Expect:”));


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM