file_get_contents模仿浏览器头(user_agent)获取
来源:互联网 发布:淘宝网站的盈利来源 编辑:程序博客网 时间:2024/04/30 09:42
什么是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: *//*"
)
);
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: *//*"
)
);
- file_get_contents模仿浏览器头(user_agent)获取
- php file_get_contents伪造user_agent curl设置
- 查看浏览器 USER_AGENT
- Android获取User_agent信息
- Cookies中的User_Agent获取
- 手机浏览器User_Agent乱象
- 时下流行的浏览器user_Agent
- php获取本地图片直接输出浏览器,file_get_contents
- user_agent
- FILE_GET_CONTENTS 加数据头
- Scrapy增加随机请求头user_agent
- php获取网站内容(file_get_contents)
- file_get_contents();浏览器访问
- 今日头条项目(模仿)
- 微信小程序(模仿头条新闻)
- 获取IE版本,强于 正则USER_AGENT并向后兼容(自用)
- PHP file_get_contents 判断是否获取成功,查看请求返回头信息
- file_get_contents 获取https
- iOS-上传应用程序到app store
- Mysql的锁机制
- LR支持的脚本语言
- ORACLE安装报错求助
- apache配置虚拟目录的方法
- file_get_contents模仿浏览器头(user_agent)获取
- JVM体系架构分析与内存原理模式详解~新
- 一个求最大公约数的函数、一个求Fibonacci(斐波那契)数列函数
- HTML5各浏览器支持情况清单
- 游戏引擎列表
- js 操作sql数据库
- VS2005 MFC 简单内存泄漏检测方法,解决Detected memory leaks!问题
- C语言运算符优先级
- eclipse快速加入android全部源码