平时我们在使用php的file_get_contents执行相关操作的时候,需要设置一些参数比如user_agent也就是我们常说的UA,今天吾爱编程为大家介绍一下PHP利用file_get_contents模仿浏览器头(user_agent)的方法,有需要的小伙伴可以参考一下:
1、user_agent是什么?
用户代理(User Agent,简称 UA),是一个特殊字符串头,使得服务器能够识别客户使用的操作系统及版本、CPU 类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等。
2、为什么设置UA?
一些网站常常通过判断 UA 来给不同的操作系统、不同的浏览器发送不同的页面,因此可能造成某些页面无法在某个浏览器中正常显示,但通过伪装 UA 可以绕过检测。
3、解决方法:
(1)、方法一:
ini_set('user_agent', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:108.0) Gecko/20100101 Firefox/108.0)');
(1)、方法二:
$opts = array( 'http'=>array( 'method'=>"GET", 'header'=>"Host: www.biancheng123.com\r\n" . "Accept-language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2\r\n" . "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:108.0) Gecko/20100101 Firefox/108.0)" . "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8" ) ); $url = "https://www.biancheng123.com"; $context = stream_context_create($opts); $res = file_get_contents($url,false,$context);