http返回码是000...

正文

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

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

1
2
3
4
2XX 成功;
3XX 重定向;
4XX 客户端错误;
5XX 服务器端错误;

但是000是啥玩意?简单的说就是没有有效的http状态码,比如连接被拒绝,连接超时等。

使用curl -w "%{http_code}\n" -m 5 https://60.191.94.115:38303/cloudSignalling/events/deviceState ; echo "Exit code: $?看一下详细的code,显示如图:
paradin

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

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

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

参考资料

http://www.1987.name/365.html
https://superuser.com/questions/501690/curl-http-code-of-000

-------------This article is over!Thanks for reading!-------------
感谢您请我喝咖啡!(o´ω`o)
0%