今天开发童鞋在测试往一个网站发请求的时候,发现返回码是000,如图:

wKioL1ld3P6huEL8AAAvTe2DoP4175.png


众所周知,常见的返回码是以下四种:

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,显示如图:

wKiom1ld8QuBCLX0AADxtRYp4HA224.png


可以看到提示: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这个命令,效果如图:

wKiom1ld8s7Qe0Y9AACCY8jJs5g451.png


里面这一下说的就很明白了,405,方法不正确,再搭配一下#curl -k -w "%{http_code}\n" -m 5 https://60.191.94.115:38303/cloudSignalling/events/deviceState ,看一下:

wKioL1ld8__CPvbDAABjczDjVuc020.png


这么上下一结合,明白了GET是不准许的,准许POST。于是反馈给60.191.94.115告诉他们把前后台接口请求方式、参数传递方式都拿回去整改。




参考资料:http://www.1987.name/365.html

参考资料:https://superuser.com/questions/501690/curl-http-code-of-000