我遇到以下错误“警告:file_get_contents无法打开流:HTTP请求失败!HTTP / 1.0 400错误请求”,同时点击“http://Google.com”
<?php
$content = file_get_contents("http://www.google.com");
if (strpos($http_response_header[0], "200")) {
echo "SUCCESS";
}
else {
echo "FAILED";
}
?>
因为这个问题我无法解析URL。我正在使用WAMP(Apache Version-2.2.22,PHP 5.4.3版)。
采取的步骤: - 1.allow_url_fopen在php.ini中启用 2.Tried编码URL 3.Even Used Curl php功能遇到同样的问题。 4.启用防火墙
请帮忙。
答案 0 :(得分:5)
$html = @file_get_html($url);
if($html==FALSE) {
echo 'error';
} else {
echo 'success';
}
在这里检查一下这个$ url是www.google.com。然后你得到正确的结果
答案 1 :(得分:2)
请求实际上成功,您有$ content内容的页面。但是你做错了成功的考验。网址不会返回200,而是返回302.
答案 2 :(得分:0)
这是因为它返回状态302(FOUND)
echo $http_response_header[0];
//返回'HTTP / 1.0 302 Found'
答案 3 :(得分:0)
某些服务器配置不允许使用file_get_contents
(通过fopen
)打开远程地址。
您可能想要更改配置,但他更喜欢使用cURL打开远程站点(更可靠,速度提高约20倍)。
可以在PHP文档here
中找到一个快速而简单的示例答案 4 :(得分:-1)
我遇到了同样的问题。 我在Windows 7上使用WAMP,直到最后我找到解决方案。
您需要确保在php.ini文件中取消注释extension = php_openssl.dll
C:\ wamp \ bin \ php文件夹。如果您通过WAMP服务器菜单设置openssl PHP&gt;&gt; PHP扩展,它不会影响到php.exe
希望这也适合你。