PHP系列 | PHP curl報錯:417 - Expectation Failed

當我在post提交的數據增加一段內容後會報錯:417 - Expectation Failed

查資料發現在使用curl做POST時,當post的數據大於1024字節時,curl並不會直接發起post請求,而是分爲兩步,

  • 1.發送一個請求,包含一個Exc:100-continue,詢問Server接收數據

  • 2.接收到Server返回100-continue應答後,才把post提交給Server

RFC相關資料:https://www.w3.org/Protocols/rfc2616/rfc2616-sec8.html#sec8.2.3

然而我的路由器使用的是lighthttpd,它不正確應答100-continue,所以返回了417這個錯誤

解決辦法是增加這個選項:curl_setopt($curl, CURLOPT_HTTPHEADER, ['Expect:']);

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章