解析file_get_contents模仿浏览器头(user_agent)获取数据

 更新时间:2013年06月27日 16:18:20   作者:  
本篇文章是对file_get_contents模仿浏览器头(user_agent)获取数据进行了详细的分析介绍,需要的朋友参考下

什么是user agent
User Agent中文名为用户代理,简称 UA,它是一个特殊字符串头,使得服务器能够识别客户使用的操作系统及版本、CPU 类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等。
网站可以通过判断不同UA来呈现不同的网站,例如手机访问和PC访问显示不同的页面。
PHP在用file_get_contents函数采集网站时,有时会明明用浏览器可以看,但就是采不到任何内容。
这很有可能是服务器上做了设置,根据 User_agent判断是否为正常的浏览器请求,因为默认PHP的file_get_contents函数是不发送ua的。
如果要采集这样的网站,我们就必须要让PHP模拟浏览器发送UA,欺骗网站返回正常内容。

实现如下:
ini_set('user_agent','Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; 4399Box.560; .NET4.0C; .NET4.0E)');
这是模拟IE8环境下的UA,当然你也可以换成其他的。比如中火狐
也可以这样读取:

复制代码 代码如下:

$opts = array(
'http'=>array(
    'method'=>"GET",
    'header'=>"Host: zh.wikipedia.org\r\n" .
              "Accept-language: zh-cn\r\n" .
              "User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; 4399Box.560; .NET4.0C; .NET4.0E)" .
              "Accept: *//*"
)
);

相关文章

  • 常用的php ADODB使用方法集锦

    常用的php ADODB使用方法集锦

    ADODB使用方法 作者:飞豹游侠 整理:淡水河边
    2008-03-03
  • 实测在class的function中include的文件中非php的global全局环境

    实测在class的function中include的文件中非php的global全局环境

    正如标题所言经测试的结果为:在class中include后,被include文件变量域已经变成func中了,非全局.但是可以通过global提升,感兴趣的朋友可以参考下哈,希望对大家有所帮助
    2013-07-07
  • PHP概率计算函数汇总

    PHP概率计算函数汇总

    做项目的有时会弄个活动什么的,来让用户参加,既吸引用户注册,又提高网站的用户活跃度。同时参加的用户会获得一定的奖品,有100%中奖的,也有按一定概率中奖的,大的比如中个ipad,小的中个Q币。那么我们在程序里必然会设计到算法,即按照一定的概率让用户获得奖品。
    2015-09-09
  • 解析PHP留言本模块主要功能的函数说明(代码可实现)

    解析PHP留言本模块主要功能的函数说明(代码可实现)

    本篇文章是对PHP留言本中主要的函数以及代码进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • PHP5.2下preg_replace函数的问题

    PHP5.2下preg_replace函数的问题

    这篇文章主要介绍了PHP5.2下preg_replace函数的问题,需要的朋友可以参考下
    2015-05-05
  • php 中self,this的区别和操作方法实例分析

    php 中self,this的区别和操作方法实例分析

    这篇文章主要介绍了php 中self,this的区别和操作方法,结合实例形式分析了PHP面向对象程序设计中self,this的功能、区别、使用方法与操作注意事项,需要的朋友可以参考下
    2019-11-11
  • php PDO异常处理详解

    php PDO异常处理详解

    这篇文章主要给大家介绍了php中PDO异常处理的相关内容,文中给大家先进行了简单的介绍,然后通过实例代码给大家介绍了使用方式,介绍的非常详细,有需要的朋友们可以参考借鉴,感兴趣的朋友们下面来一起学习学习吧。
    2016-11-11
  • PHP针对字符串开头和结尾的判断方法

    PHP针对字符串开头和结尾的判断方法

    这篇文章主要介绍了PHP针对字符串开头和结尾的判断方法,涉及php字符串操作的判断、截取、判断、比较等函数用法与注意事项,需要的朋友可以参考下
    2016-07-07
  • php进行ip地址掩码运算处理的方法

    php进行ip地址掩码运算处理的方法

    这篇文章主要介绍了php进行ip地址掩码运算处理的方法,涉及php字符串及网络操作相关技巧,需要的朋友可以参考下
    2016-07-07
  • PHP在innodb引擎下快速代建全文搜索功能简明教程【基于xunsearch】

    PHP在innodb引擎下快速代建全文搜索功能简明教程【基于xunsearch】

    这篇文章主要介绍了PHP在innodb引擎下快速代建全文搜索功能的方法,可基于开源搜索引擎xunsearch实现,简明扼要的讲述了安装与使用的步骤与相关操作技巧,需要的朋友可以参考下
    2016-10-10

最新评论