當我使用錯誤的服務器地址(如127.0.0.1)作爲URL的服務器地址發送http請求時,libcurl返回CURLE_OK並讓我得到http代碼0.但是,當我使用IE發送相同的請求時,我得到了http代碼404。有沒有人知道如何在發送類似請求時使用libcurl獲取錯誤代碼而不是0。我無法通過libcurl獲取http代碼
回答
當傳輸正常時,libcurl返回CURLE_OK。從HTTP服務器獲取404被認爲是一個很好的轉移。通過設置CURLOPT_FAILONERROR選項,可以使> = 4xx HTTP響應代碼導致libcurl錯誤。
或者,這可能是更好的方法,您在傳輸後提取HTTP響應代碼,例如curl_easy_getinfo()來找出HTTP響應代碼,以查看HTTP服務器對您請求的資源的看法。
嘗試使用它來訪問實際運行Web服務器的站點,並嘗試檢索不存在的文件。例如,http://www.google.com/404。你的瀏覽器幾乎肯定不會從訪問127.0.0.1獲得404,即使它告訴你它就是這樣。
感謝您的回答。但是,我怎麼知道一個網站是否真的在使用libcurl運行網絡服務器? – ncubrian
我不認爲我理解。 Web服務器不運行libcurl。你的客戶端使用libcurl,你可以使用它來查詢網絡上的任何Web服務器。 –
如果您想知道如何判斷libcurl是否因爲404而無法檢索文件,或者因爲根本無法聯繫服務器,則應該使用libcurl請求中的響應代碼。例如見http://curl.haxx.se/libcurl/c/curl_easy_strerror.html –
- 1. 無法通過代碼獲取圖像
- 2. 無法通過HttpWebRequest獲取HTML代碼
- 3. 通過MeteorJS獲取HTTP狀態代碼
- 4. 爲什麼我無法通過代碼
- 5. 我無法通過我的公司代理獲取涼亭
- 6. 無法通過代碼
- 7. 無法通過代碼
- 8. 無法通過java代碼
- 9. 無法通過我的GLSurfaceView獲取AdView
- 10. 通過http代理獲取WSHttpBinding
- 11. 無法通過獲取網頁源代碼在python
- 12. Okta:無法通過API調用獲取授權代碼
- 13. WPF C#無法通過源代碼綁定獲取圖像
- 14. 爲什麼此代碼通過GPS無法獲取位置?
- 15. 無法通過TeamCity從ClearCase獲取源代碼
- 16. libcurl http驗證碼
- 17. 無法獲取代碼。
- 18. C++ libcurl http響應代碼問題
- 19. 通過代理獲取html源代碼
- 20. 通過代碼獲取MSISDN號碼
- 21. 我如何使用luacurl/libcurl/curl和Lua獲取HTML代碼
- 22. 通過Selenium WebDriver獲取HTTP狀態代碼C#
- 23. 如何通過http發送文件通過c#代碼獲取請求?
- 24. libcurl C++添加http獲取參數
- 25. 獲取http代碼請求
- 26. 獲取捲曲http代碼
- 27. 獲取HTTP狀態代碼
- 28. 從org.apache.http.HttpResponse獲取HTTP代碼
- 29. 無法通過python通過HTTP(通過TCP)發送文件。我的代碼有什麼問題?
- 30. 使用libcURL通過HTTP代理連接到FTP服務器
IE不是協議驗證工具。 –