首頁  >  文章  >  後端開發  >  php怎麼設定useragent

php怎麼設定useragent

藏色散人
藏色散人原創
2021-05-20 09:13:522906瀏覽

php設定useragent的方法:1、用curl設定user_agent,程式碼如「curl_setopt($curl, CURLOPT_USERAGENT...)」;2、用file_get_contents設定user_agent。

php怎麼設定useragent

本文操作環境:Windows7系統、PHP7.1版,DELL G3電腦

最近有在用PhpQuery,發現抓取一些網頁的內容是空內容,詢問了解到是設定了判斷User Agent這個屬性。於是一直在找PhpQuery怎麼設定UserAgent,無奈PhpQuery文件太少,暫時沒找到,便去尋找PHP原生設定UserAgent的方法,找到了兩種。

無User Agent代碼:

<?php  
include &#39;phpQuery.php&#39;;   
phpQuery::newDocumentFile(&#39;https://www.weiyiqi.net&#39;);   
if(strstr(pq("")->html(),"mochoublog",false))  
{  
    echo "存在";  
}  
else{  
    echo "不存在";  
}  
?>

 效果:

页面输出“不存在”

有User Agent代碼:

<?php  
include &#39;phpQuery.php&#39;;   
ini_set(&#39;user_agent&#39;, &#39;Chrome 42.0.2311.135&#39;);  
phpQuery::newDocumentFile(&#39;https://www.weiyiqi.net&#39;);   
if(strstr(pq("")->html(),"mochoublog",false))  
{  
    echo "存在";  
}  
else{  
    echo "不存在";  
}  
?>

效果:

页面输出“存在”

 用curl設定user_agent:

$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, &#39;http://www.baidu.com/&#39;);
curl_setopt($curl, CURLOPT_USERAGENT, &#39;Chrome 42.0.2311.135&#39;);//这里设置UserAgent为[Chrome 42.0.2311.135]
$data = curl_exec($curl);//这里得到的是抓取的内容
curl_close($curl);

 用file_get_contents設定user_agent:

ini_set(&#39;user_agent&#39;, &#39;Chrome 42.0.2311.135&#39;);

如果是用PhpQuery去抓取網頁的話用第二種方法去設定UserAgent,方法一是無效的。但是如果你直接用curl去抓取網頁的話當然是用方法一的「curl_setopt($curl, CURLOPT_USERAGENT,'Input user agent')」直接設定就好了。

 推薦學習:《PHP影片教學

以上是php怎麼設定useragent的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn