我正在使用 http_request()( http://pear.php.net/package/HTTP_Request2/ ) 来检查页面状态。它工作正常,但在检查外部链接时,它返回 301 和 302 错误。但这些链接在浏览器中完美加载。
例如:链接http://siris-implant.ch正在浏览器中完美加载,但在使用 http_request() 检查时,它返回 302 错误状态。
请建议我们,如何解决这个问题。
我正在使用 http_request()( http://pear.php.net/package/HTTP_Request2/ ) 来检查页面状态。它工作正常,但在检查外部链接时,它返回 301 和 302 错误。但这些链接在浏览器中完美加载。
例如:链接http://siris-implant.ch正在浏览器中完美加载,但在使用 http_request() 检查时,它返回 302 错误状态。
请建议我们,如何解决这个问题。
如果我http://siris-implant.ch/
在浏览器中访问,它会将我重定向到http://siris-implant.ch/de/
.
所以它没有加载,它告诉我去其他地方寻找我正在寻找的东西。
这就是302 的意思。这不是错误。(错误在状态码的 400 和 500 范围内)。
您需要遵循重定向(通过查看 HTTPlocation
响应标头)并查看它解析到的 URL 是否处于错误状态。
所有 300 个响应都是重定向。
由于 0.5.0 版HTTP_Request2
可以自动跟随 HTTP 重定向,如果follow_redirects
参数设置为TRUE
:
HTTP_Request2($url, METHOD_GET, array('follow_redirects'=>true))
或使用setConfig()
.