远程抓取的问题.急,请帮忙! 在服务器上ping你的目的地址,看速度怎么样 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 可能是你的远程服务器没有打开那个远程获取命令即支持获取远程url的和服务商联系一下! 提示: 如果“fopen wrappers”已经被激活,则在本函数中可以把 URL 作为文件名来使用。请参阅 fopen() 函数来获取怎样指定文件名的详细信息以及支持 URL 封装协议的列表:附录 L。如果 PHP 认为 filename 指定的是一个已注册的协议,而该协议被注册为一个网络 URL,PHP 将检查并确认 allow_url_fopen 已被激活。如果关闭了,PHP 将发出一个警告,而 fopen 的调用则失败。 设置php.ini中的allow_url_fopen allow_url_fopen = On没问题的.现在就是用 file_get_contents 或 fsockopen 都是10次里会有几次好使.怪就怪在不是不好使,是有时好时,但出现failed to open stream: HTTP request failed! 提示的时候还是多数... fsockopen 和 file_get_contents 都不是太可靠,你可以试一下curl,相比之下,更好用。 是不是服务器响应时间设置的太短导致?如果服务器反应慢的话,在连接时可能是由于超时导致failed to open stream: HTTP request failed! windows 2003我感觉就是响应时间过快. 你在apache的http.conf里面找找看,具体怎么设置的我也不太清楚,我只知道在IIS里可以设置!默认的响应时间可能是 90s 一种是IP被封另一种是可能是跨域了,对方跳转了看看出错的url,放在iE中测一下就行了如果IE能打开,且地址不变,则说明没问题 第一、IP肯定没有被封,因为目标地址可以正常访问。第二、DNS绝对没问题。第三、目标地址不存在重定向的问题。第四、allow_url_fopen 是开启的。第五、不是完全不好使,是偶尔好使。第六、在本机测试一切正常。配置有PHP、MYSQL、APACHE没有什么不同。我现在的解决办法就是循环来解决的。for($i=0;$i<100;$i++){ $getpage = @file_get_contents($Url); if($getpage) break;}帮帮忙吧。。 楼主把函数file_get_contents()的参数贴出来看看 file_get_contents 是php系统函数我是在数据中国租的服务器,是windows2003。现在真不知道问题在哪里了 不会有问题的$getpage = @file_get_contents($Url); 不要用这个这个出错了同样会停止 一般不会出问题的你要以echo一下你出错的url,放在iE里测一下就行了很简单的,可你偏不信 file_get_conetnts 如果没有获取到内容他会返回错误信息.但是我用@给屏蔽了,也就是说,如果没有成功获取到内容就继续循环。直到有了内容就跳出。循环限制在100次内。 现在服务器的 file_get_conetnts 的成功机率小,所以有我现在用了循环的方法来做。现在是可以正常得到内容。但我本机不用循环,就可以一次就成功抓取到内容。在服务器上如果只用一次 file_get_conetnts 的话,把@去掉。运行时出现failed to open stream: HTTP request failed! 的频率很大.. 这样,用 file_get_contents 如果抓到内容他会返回一个 true, 抓不到 他会返回一个 false这样写现在抓取的话,可以显示正常的抓取内容:for($i=0;$i <100;$i++){ $getpage = @file_get_contents($Url); if($getpage) break; } 如果只写 $getpage = file_get_contents($Url); 出现failed to open stream: HTTP request failed! 的机率很高,但有时也能正常抓取. 感觉可能是由于访问超时造成的。你还是用curl吧,可以加个http头来设置超时时间,把超时时间加长一些,默认是10秒 mysql查询出的数据显示方式 成绩表输出显示问题 PHP实用函数库 关于正则表达式模式修正符的问题 如何使得顶部导航控制下面左右两个iframe php方法中能不能获得调用其文件的文件名? 由于系统错误 5 (Microsoft Visual FoxPro Driver),指定驱动程序无法加载。 求教给一个二维数组增加元素的问题。 做BS开发,需要打印报表,请问使用哪一种报表插件比较好? 新手疑问学习PHP一月时间还能制作个网站出来? 这个php正则表达式如何写? 求一个dz5.5 只看该作者的 不是只看楼主的
即支持获取远程url的和服务商联系一下!
设置php.ini中的
allow_url_fopen
现在就是用 file_get_contents 或 fsockopen 都是10次里会有几次好使.
怪就怪在不是不好使,是有时好时,但出现failed to open stream: HTTP request failed! 提示的时候还是多数...
如果服务器反应慢的话,在连接时可能是由于超时导致failed to open stream: HTTP request failed!
默认的响应时间可能是 90s
另一种是可能是跨域了,对方跳转了看看出错的url,放在iE中测一下就行了
如果IE能打开,且地址不变,则说明没问题
第二、DNS绝对没问题。
第三、目标地址不存在重定向的问题。
第四、allow_url_fopen 是开启的。
第五、不是完全不好使,是偶尔好使。
第六、在本机测试一切正常。配置有PHP、MYSQL、APACHE没有什么不同。我现在的解决办法就是循环来解决的。
for($i=0;$i<100;$i++){
$getpage = @file_get_contents($Url);
if($getpage) break;
}帮帮忙吧。。
我是在数据中国租的服务器,是windows2003。现在真不知道问题在哪里了
$getpage = @file_get_contents($Url);
不要用这个
这个出错了同样会停止
你要以echo一下你出错的url,放在iE里测一下就行了
很简单的,可你偏不信
也就是说,如果没有成功获取到内容就继续循环。直到有了内容就跳出。
循环限制在100次内。
运行时出现failed to open stream: HTTP request failed! 的频率很大..
for($i=0;$i <100;$i++){
$getpage = @file_get_contents($Url);
if($getpage) break;
} 如果只写 $getpage = file_get_contents($Url);
出现failed to open stream: HTTP request failed! 的机率很高,但有时也能正常抓取.