在使用curl做post的時候, 當要post的資料大於1024位元組的時候, curl並不會直接就發起post請求, 而是會分為倆步,
1. 傳送乙個請求, 包含乙個expect:100-continue,詢問server使用願意接受資料2. 接收到server返回的100-continue應答以後, 才把資料post給server
這是libcurl的行為.
具體的rfc相關描述:
於是,這樣就有了乙個問題, 並不是所有的server都會正確應答100-continue, 比如lighttpd, 就會返回417 「expectation failed」, 則會造成邏輯出錯,,
要解決的辦法也挺容易:
curl post請求總是返回417錯誤
在使用curl做post的時候,當要post的資料大於1024位元組的時候,curl並不會直接就發起post請求,而是會分為倆步。傳送乙個請求,header包含乙個expect 100 continue,詢問server使用願意接受資料 接收到server返回的100 continue應答以後,才把...
原創 請求時發生417錯誤
最近在工作中遇見乙個奇怪的問題,有一段程式是需要跟別的公司的程式做段互動。開發環境 vs.net2003 windows server 2003 iis5 framework1.1 症狀 這段 在測試平台沒有問題,發布到正式平台後,發現報告異常 417 expectation failed 呼叫 如...
jsp 返回錯誤訊息
2 操作成功收到,分析 接受 3 完成此請求必須進一步處理 4 請求包含乙個錯誤語法或不能完成 5 伺服器執行乙個完全有效請求失敗 100 客戶必須繼續發出請求 101 客戶要求伺服器根據請求轉換http協議版本 200 交易成功 201 提示知道新檔案的url 202 接受和處理 但處理未完成 2...