Loading... ### PHP中cURL的curl_getinfo函数返回的CURLINFO_HTTP_CODE是0 分类专栏: [PHP](https://blog.csdn.net/u012314976/category_6138944.html) 文章标签: [php](https://www.csdn.net/tags/NtDagg1sNTQwLWJsb2cO0O0O.html) [curl](https://www.csdn.net/tags/MtTaEg0sMzc4NTUtYmxvZwO0O0OO0O0O.html) [httpCode](https://so.csdn.net/so/search/s.do?q=httpCode&t=blog&o=vip&s=&l=&f=&viparticle=) [状态码](https://www.csdn.net/tags/MtTaEg0sMTQ2ODgtYmxvZwO0O0OO0O0O.html) ## 分析 在PHP中使用cURL获取网页时,可以通过函数`curl_getinfo()`来获取http状态码。 ``` $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);1 ``` 我们期望的状态码是200,而且HTTP标准也对其它状态码做了一些定义。 | 总体范围 | 已定义类别 | 类别 | | - | - | - | | 100~199 | 100~101 | 信息 | | 200~299 | 200~206 | 成功 | | 300~399 | 300~305 | 重定向 | | 400~499 | 400~415 | 客户端错误 | | 500~599 | 500~505 | 服务端错误 | 但是`curl_getinfo()`有时候会给我们返回状态是0的状态码,原因如下, 如果你**已经连接到服务器**上了,那么你将会返回一个状态码;否则,将会失败并返回一个0。 所以,如果你连接到`www.google.com/lksdfk`时,你会收到一个400的状态码,如果你连接到`google.com`,你会收到一个302的状态码(如果继续访问的话,将会收到200的状态码,因为被重定向到了`www.google.com.hk`),如果你访问`googlecom`,你会收到一个0状态码,并提示找不到host。 错误的详细原因可以通过函数`curl_error()`进行查询。 ## 参考 * [PHP cURL HTTP CODE return 0](http://stackoverflow.com/questions/10227879/php-curl-http-code-return-0) * HTTP权威指南 (https://blog.csdn.net/u012314976) 2016-08-01 14:24:18 最后修改:2023 年 03 月 09 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 0 如果觉得我的文章对你有用,请随意赞赏