PHP警告:文件\u获取\u内容无法打开流:HTTP请求失败!HTTP/1.0 400错误请求

PHP警告:文件\u获取\u内容无法打开流:HTTP请求失败!HTTP/1.0 400错误请求,php,http,Php,Http,我在点击时收到以下错误“警告:文件\u获取\u内容无法打开流:HTTP请求失败!HTTP/1.0 400错误请求”http://Google.com" 由于这个问题,我无法解析URL,我使用的是WAMP(Apache版本2.2.22,PHP版本5.4.3) 采取的步骤:- 1.允许在php.ini中启用\u url\u fopen 2.尝试对URL进行编码 3.即使使用Curl php函数也会遇到同样的问题。 4.网络上允许的防火墙 请提供帮助。请求实际成功,您的页面为$content。但是

我在点击时收到以下错误“警告:文件\u获取\u内容无法打开流:HTTP请求失败!HTTP/1.0 400错误请求”http://Google.com"


由于这个问题,我无法解析URL,我使用的是WAMP(Apache版本2.2.22,PHP版本5.4.3)

采取的步骤:- 1.允许在php.ini中启用\u url\u fopen 2.尝试对URL进行编码 3.即使使用Curl php函数也会遇到同样的问题。 4.网络上允许的防火墙


请提供帮助。

请求实际成功,您的页面为$content。但是你做了一个错误的成功测试。url不返回200,而是返回302

请求实际上成功了,您拥有$content中的页面。但是你做了一个错误的成功测试。url不返回200,而是返回302

这是因为它返回状态302(已找到)


echo$http_response_头[0]//返回“HTTP/1.0 302已找到”

这是因为它返回状态302(已找到)

$html = @file_get_html($url);   
if($html==FALSE) {
  echo 'error';
} else {
  echo 'success';
}
echo$http_response_头[0]//返回“找到HTTP/1.0 302”

$html = @file_get_html($url);   
if($html==FALSE) {
  echo 'error';
} else {
  echo 'success';
}
检查这里的$url是www.google.com。然后你会得到正确的结果


检查这里的$url是www.google.com。然后您会得到正确的结果

某些服务器配置不允许使用
文件获取内容打开远程地址
(通过
fopen
)。 您可能想更改配置,但他更喜欢使用以下方法打开远程站点(更可靠,速度大约快20倍)


在PHP文档中可以找到一个快速而简单的示例

一些服务器配置不允许使用
文件获取内容打开远程地址
(通过
fopen
)。 您可能想更改配置,但他更喜欢使用以下方法打开远程站点(更可靠,速度大约快20倍)


在PHP文档中可以找到一个快速而简单的示例

我也遇到了同样的问题。 我在Windows7上使用WAMP,直到最终找到解决方案

您需要确保在中取消对php.ini文件中的extension=php_openssl.dll的注释

C:\wamp\bin\php文件夹。如果通过WAMP服务器菜单PHP>>PHP扩展设置openssl,则不会影响PHP.exe


希望这对你也有用。

我和你有同样的问题。 我在Windows7上使用WAMP,直到最终找到解决方案

您需要确保在中取消对php.ini文件中的extension=php_openssl.dll的注释

C:\wamp\bin\php文件夹。如果通过WAMP服务器菜单PHP>>PHP扩展设置openssl,则不会影响PHP.exe


希望这也适用于您。

他们可能会阻止那些明显的非浏览器用户代理。毕竟,您不应该使用curl或php来执行谷歌搜索。尽管400状态码很奇怪;在这种情况下,我希望是403。顺便说一句,谷歌的“根”URL应该是
http://www.google.com/
,带尾随斜杠。但同样,这不应该导致错误400。它们可能会阻止那些明显的非浏览器用户代理。毕竟,您不应该使用curl或php来执行谷歌搜索。尽管400状态码很奇怪;在这种情况下,我希望是403。顺便说一句,谷歌的“根”URL应该是
http://www.google.com/
,带尾随斜杠。但同样,这不会导致错误400。我已经修改了代码并使用302作为错误,但得到了相同的结果“error”,我们去转储这个特殊变量$http\u response\u头并重新考虑您的测试。我已经修改了代码并使用302作为错误,但得到了相同的结果“error”我们开始转储这个特殊变量$http\u response\u头并重新考虑您的测试。