国内最全IT社区平台 联系我们 | 收藏本站
华晨云阿里云优惠2
您当前位置:首页 > php开源 > php教程 > failed to open stream: HTTP request failed

failed to open stream: HTTP request failed

来源:程序员人生   发布时间:2013-11-27 05:35:15 阅读次数:2764次

fopen以采集远程服务器的内容保存到本地同时也可以打开本地的文件,是一个非常不错的函数,下面我们来看看关于在使用fopen函数时出现failed to open stream: HTTP request failed问题解决方法。

  1. $handle = fopen ("http://www.phpfensi.com/c5-03/""rb");  
  2. $contents = "";  
  3. while (!feof($handle)) {  
  4. $contents .= fread($handle, 8192);  
  5. }  
  6. fclose($handle);  
  7. echo $contents//输出获取到得内容。  
  8. ?> 

对 PHP 5 及更高版本可以使用下面的代码

  1. $handle = fopen("http://phpfensi.com""rb");  
  2. $contents = stream_get_contents($handle);  
  3. fclose($handle);  
  4. echo $contents;  
  5. ?> 

有人说在php.ini中,有这样两个选项:allow_url_fopen =on(表示可以通过url打开远程文件),user_agent="PHP"(表示通过哪种脚本访问网络,默认前面有个 " ; " 去掉即可)重启服务器。 

但是有些还是会有这个警告信息,想用完美的解决还差一步,还得设置php.ini里面的user_agent,php默认的user_agent是PHP,我们把它改成Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)来模拟浏览器就可以了

使用PHP的CURL模块取回PHP主页,并保存到文件中

  1. $ch = curl_init("http://www.phpfensi.com/"); 
  2. $fp = fopen("php_homepage.txt""w"); 
  3. curl_setopt($ch, CURLOPT_FILE, $fp); 
  4. curl_setopt($ch, CURLOPT_HEADER, 0); 
  5. curl_exec($ch); 
  6. curl_close($ch); 
  7. fclose($fp); 
  8. ?> 

curl相关函数列表:

curl_init — 初始化一个CURL会话

curl_setopt — 为CURL调用设置一个选项

curl_exec — 执行一个CURL会话

curl_close — 关闭一个CURL会话

curl_version — 返回当前CURL版本

描述:curl_init()函数将初始化一个新的会话,返回一个CURL句柄供 curl_setopt(), curl_exec(),和 curl_close() 函数使用。如果可选参数被提供,那么CURLOPT_URL选项将被设置成这个参数的值。你可以使用curl_setopt()函数人工设置。

例1.初始化一个新的CURL会话,且取回一个网页:

  1. $ch = curl_init(); 
  2. curl_setopt ($ch, CURLOPT_URL, “http://www.phpfensi.com/”); 
  3. curl_setopt ($ch, CURLOPT_HEADER, 0); 
  4. curl_exec ($ch); 
  5. curl_close ($ch); 
  6. ?> 
生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠
程序员人生
------分隔线----------------------------
分享到:
------分隔线----------------------------
关闭
程序员人生