• 技术文章 >后端开发 >php教程

    采集遇到一个怪异有关问题

    2016-06-13 10:11:46原创251
    采集遇到一个怪异问题
    目标地址 www.zhibo8.com

    本地环境:windows xp + xmapp 1.7.7
    file_get_contents 或者 curl 都没问题,首页面完全获取;

    放到国外的服务器上,linux, Apache 2.0
    file_get_contents 为空
    curl 会和浏览器访问打开的不一致,内容少好多,但是结束标签是全的。

    而且我用curl发送模拟浏览器的全部header也是一样不完整。

    请大伙帮分析一下,可能存在的原因及如何解决,谢谢!

    ------解决方案--------------------
    估计是linux环境的问题吧
    我之前抓www.fblife.com也是windows下curl测试通过,但同样代码linux下就得不到完整的
    这个网站我在Ubuntu9.10下CURL测试通过,可以抓取完整,不知道是不是你linux配置问题?
    ------解决方案--------------------
    暂时木有。。。很纠结
    说来奇怪,程序放到网站目录下,从浏览器访问程序文件抓取的信息很完整,linux,windows都可以,但是,linux后台抓取就是不行,怎么做都抓不全,我估计可能是linux配置的问题。楼主可以试一下wget命令
    ------解决方案--------------------
    服务器的网络.访问国内的不行.这个是我的猜测.在国内主机上多半没问题
    ------解决方案--------------------
    看看编码问题吧
    $string = iconv('gb2312', 'utf-8//ignore', $string);
    ------解决方案--------------------
    到国外的服务器上
    file_get_contents 为空
    可能未开放权限,也可能超时

    curl 会和浏览器访问打开的不一致,内容少好多
    那是一个纯中文网站,在国外看不到或看不全是很正常的。没有多少人能看懂中文
    当然也与超时和curl支持库有关
    ------解决方案--------------------
    这就是一种优越性
    ------解决方案--------------------
    探讨

    发现一个很悲催的问题,设置项太多了,就会出问题

    function curl_file_get_contents($durl){
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $durl);
    curl_setopt($ch, CURLOPT_TIMEOUT, 30);
    curl_setopt($ch, CURLOPT_RETURNT……
    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    上一篇:数据无法写入数据库解决思路 下一篇:怎么快速掌握一個php寫的cms
    PHP编程就业班

    相关文章推荐

    • HTML英文单词汇总(PHP新手收藏)• 我28了,还能不能学PHP?• CSS英文单词汇总(PHP新手收藏)• PHP英文单词汇总(PHP新手收藏)• ThinkPHP3.2 加载过程(2)

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网