php設定useragent的方法:1、用curl設定user_agent,程式碼如「curl_setopt($curl, CURLOPT_USERAGENT...)」;2、用file_get_contents設定user_agent。
本文操作環境:Windows7系統、PHP7.1版,DELL G3電腦
最近有在用PhpQuery,發現抓取一些網頁的內容是空內容,詢問了解到是設定了判斷User Agent這個屬性。於是一直在找PhpQuery怎麼設定UserAgent,無奈PhpQuery文件太少,暫時沒找到,便去尋找PHP原生設定UserAgent的方法,找到了兩種。
無User Agent代碼:
<?php include 'phpQuery.php'; phpQuery::newDocumentFile('https://www.weiyiqi.net'); if(strstr(pq("")->html(),"mochoublog",false)) { echo "存在"; } else{ echo "不存在"; } ?>
效果:
页面输出“不存在”
有User Agent代碼:
<?php include 'phpQuery.php'; ini_set('user_agent', 'Chrome 42.0.2311.135'); phpQuery::newDocumentFile('https://www.weiyiqi.net'); if(strstr(pq("")->html(),"mochoublog",false)) { echo "存在"; } else{ echo "不存在"; } ?>
效果:
页面输出“存在”
用curl設定user_agent:
$curl = curl_init(); curl_setopt($curl, CURLOPT_URL, 'http://www.baidu.com/'); curl_setopt($curl, CURLOPT_USERAGENT, 'Chrome 42.0.2311.135');//这里设置UserAgent为[Chrome 42.0.2311.135] $data = curl_exec($curl);//这里得到的是抓取的内容 curl_close($curl);
用file_get_contents設定user_agent:
ini_set('user_agent', 'Chrome 42.0.2311.135');
如果是用PhpQuery去抓取網頁的話用第二種方法去設定UserAgent,方法一是無效的。但是如果你直接用curl去抓取網頁的話當然是用方法一的「curl_setopt($curl, CURLOPT_USERAGENT,'Input user agent')」直接設定就好了。
推薦學習:《PHP影片教學》
以上是php怎麼設定useragent的詳細內容。更多資訊請關注PHP中文網其他相關文章!