我正在尝试读取外部页面,但问题是网址中有一个空格。例如:
www.somesite.com/test/main .html
您在 main 之后看到一个空格。当您通过浏览器转到 URL 时,页面会出现。但是当我尝试使用PHP file_get_contents函数时,出现错误:
failed to open stream: HTTP request failed! HTTP/1.1 400 Bad Request
我尝试了卷曲,但出现相同的 400 错误。关于如何阅读页面的任何建议?我尝试使用 urlencode 但收到 404 错误。
谢谢!
您使用什么浏览器?
您可以做的是检查浏览器在其请求中发送的确切内容,以便服务器接受它。为此,您可以使用浏览器的插件来检查发送标头。
对于火狐,请尝试以下方法: 修改标头 live-http-headers
一旦你知道到底发送了什么,你只需要对cURL做同样的事情。
最有可能的是,您没有发送正确的用户代理而失败,并且服务器不会为您提供服务,将您视为脚本而不是浏览器。
示例如何设置用户代理: set-user-agent-php-curl-spoof