今天開發童鞋在測試往一個網站發請求的時候,發現傳回碼是000,如圖:
<a href="https://s1.51cto.com/wyfs02/M00/9B/13/wKioL1ld3P6huEL8AAAvTe2DoP4175.png" target="_blank"></a>
衆所周知,常見的傳回碼是以下四種:
1)2XX 成功;
2)3XX 重定向;
3)4XX 用戶端錯誤;
4)5XX 伺服器端錯誤;
但是000是啥玩意?簡單的說就是沒有有效的http狀态碼,比如連接配接被拒絕,連接配接逾時等。
使用#curl -w "%{http_code}\n" -m 5 https://60.191.94.115:38303/cloudSignalling/events/deviceState ; echo "Exit code: $? 看一下詳細的code,顯示如圖:
<a href="https://s5.51cto.com/wyfs02/M02/9B/16/wKiom1ld8QuBCLX0AADxtRYp4HA224.png" target="_blank"></a>
可以看到提示:curl: (60) Peer certificate cannot be authenticated with known CA certificates,翻譯過來就是“對方的證書不能用已知的CA憑證驗證”。但是下面也說了可以用"-k"或者"--insecure"來跳過這一步。
于是我又使用#curl -I -k https://60.191.94.115:38303/cloudSignalling/events/deviceState這個指令,效果如圖:
<a href="https://s4.51cto.com/wyfs02/M01/9B/17/wKiom1ld8s7Qe0Y9AACCY8jJs5g451.png" target="_blank"></a>
裡面這一下說的就很明白了,405,方法不正确,再搭配一下#curl -k -w "%{http_code}\n" -m 5 https://60.191.94.115:38303/cloudSignalling/events/deviceState ,看一下:
<a href="https://s2.51cto.com/wyfs02/M00/9B/17/wKioL1ld8__CPvbDAABjczDjVuc020.png" target="_blank"></a>
這麼上下一結合,明白了GET是不準許的,準許POST。于是回報給60.191.94.115告訴他們把前背景接口請求方式、參數傳遞方式都拿回去整改。
參考資料:http://www.1987.name/365.html
參考資料:https://superuser.com/questions/501690/curl-http-code-of-000
本文轉自 蘇幕遮618 51CTO部落格,原文連結:http://blog.51cto.com/chenx1242/1945070