我正在尝试读取一个外部页面,但是问题是url中有空格。例如:
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
我尝试了curl,但是遇到了同样的400错误。关于如何阅读页面有什么建议吗?我尝试使用urlencode,但收到404错误。
谢谢!
答案 0 :(得分:0)
您使用什么浏览器?
您可以做的是检查浏览器在请求中发送的确切内容,以便服务器将其接受。为此,您可以在浏览器中使用插件检查发送头。
对于Firefox,请尝试以下操作: Modify Headers live-http-headers
一旦知道发送的确切内容,您只需要对cURL执行相同的操作。
很可能您没有发送正确的用户代理失败,并且服务器无法将您视为脚本而不是浏览器。
示例如何设置用户代理: set-user-agent-php-curl-spoof