php 拉取远程文件的问题

txlty 2009-10-13 07:29:58
在本机上,各种函数拉取远程文件都正常。在服务器上,有的网站能拉取,有的出错。(包括fopen、file_get_contents、fsockopen)

比如 下面这段简单的测试代码
<?php
echo file_get_contents("http://www.baidu.com");
?>

<?php
echo file_get_contents("http://www.im286.com");
?>

上面代码在本机测试都正常,但在服务器上,第二个正常,第一个:
<?php
echo file_get_contents("http://www.baidu.com");
?>

会返回错误:failed to open stream: HTTP request failed!

这是为什么呢??本机明明正常。可到了服务器上,部分地址会出错(大部分著名网站都会出错),出错的地址,在服务器上用浏览器都能打开。~~~ 本机和服务器的服务器环境一摸一样。包括win2003,iis,php.ini和安全配置。

刚刚完成一个应用,传到服务器上却遇到这样的问题。我感觉几个月白辛苦了
...全文
225 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
我也遇到过这样的情况。
babysc1 2009-10-14
  • 打赏
  • 举报
回复
楼上说的有可能 不过我觉得还是服务器配置可能出了问题
程序猿之殇 2009-10-14
  • 打赏
  • 举报
回复
出错是因为,这些网站,有的会检测user_agent,用来判断是否为浏览器.
$opts = array(
'http'=>array(
'method'=>"GET",
'header'=>"Accept-language: en\r\n" .
"User_agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)".
)
);

echo file_get_contents($url, false, stream_context_create($opts);
txlty 2009-10-14
  • 打赏
  • 举报
回复
感觉是机房的网络问题,看来只有换机房了

明明用浏览器能打开,为什么PHP模拟浏览器就打不开呢?
kyzy_yy_pm 2009-10-14
  • 打赏
  • 举报
回复
估计就是网站的问题
ms_X0828 2009-10-14
  • 打赏
  • 举报
回复
你在弄数据抓取,用curl试试
wxllyf 2009-10-14
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 jakey9826 的回复:]
出错是因为,这些网站,有的会检测user_agent,用来判断是否为浏览器.
$opts = array( 
  'http'=>array( 
    'method'=>"GET", 
    'header'=>"Accept-language: en\r\n" .   
              "User_agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)". 
  ) 
); 
 
echo file_get_contents($url, false, stream_context_create($opts);
[/Quote]


有的网站会判断http头
防止抓取
lonelyriver 2009-10-13
  • 打赏
  • 举报
回复
别急 会有办法解决的
txlty 2009-10-13
  • 打赏
  • 举报
回复
服务器上还有个闲置半年多的动易的网站,刚登陆动易后台,发现采集功能用不了(大部分著名网站都无法读到代码)。

莫非我服务器所在机房的IP段被某个强力的反采集系统给封了?我是不是该换托管机房了??
fxs_2008 2009-10-13
  • 打赏
  • 举报
回复
不是所有都能能行的,有时服务器会几次重定次进行死循环
pcboyxhy 2009-10-13
  • 打赏
  • 举报
回复
建议你用wireshark抓http会话,对比一下本机和服务器上抓来的包,看看哪个地方不同了。
应该网 2009-10-13
  • 打赏
  • 举报
回复
别急,总有解决的办法的。

用curl 试试,之前有个项目也遇到过类似问题

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧