加入收藏 | 设为首页 | 会员中心 | 我要投稿 盐城站长网 (https://www.0515zz.cn/)- 运维、云管理、管理运维、智能数字人、AI硬件!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

failed to open stream: HTTP request failed

发布时间:2022-06-20 08:45:37 所属栏目:PHP教程 来源:互联网
导读:fopen以采集远程服务器的内容保存到本地同时也可以打开本地的文件,是一个非常不错的函数,下面我们来看看关于在使用fopen函数时出现failed to open stream: HTTP request failed问题解决方法。 $handle = fopen (http://www.phpfensi.com/c5-03/, rb); $conte
  fopen以采集远程服务器的内容保存到本地同时也可以打开本地的文件,是一个非常不错的函数,下面我们来看看关于在使用fopen函数时出现failed to open stream: HTTP request failed问题解决方法。
 
  $handle = fopen ("http://www.phpfensi.com/c5-03/", "rb");  
  $contents = "";  
  while (!feof($handle)) {  
  $contents .= fread($handle, 8192);  
  }  
  fclose($handle);  
  echo $contents; //输出获取到得内容。  
  ?>
  对 PHP 5 及更高版本可以使用下面的代码
 
  $handle = fopen("http://phpfensi.com", "rb");  
  $contents = stream_get_contents($handle);  
  fclose($handle);  
  echo $contents;  
  ?>
  有人说在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主页,并保存到文件中
 
  $ch = curl_init("http://www.phpfensi.com/");
  $fp = fopen("php_homepage.txt", "w");
  curl_setopt($ch, CURLOPT_FILE, $fp);
  curl_setopt($ch, CURLOPT_HEADER, 0);
  curl_exec($ch);
  curl_close($ch);
  fclose($fp);
  ?>
  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会话,且取回一个网页:
 
  $ch = curl_init();
  curl_setopt ($ch, CURLOPT_URL, “http://www.phpfensi.com/”);
  curl_setopt ($ch, CURLOPT_HEADER, 0);
  curl_exec ($ch);
  curl_close ($ch);
  ?>
 

(编辑:盐城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读