How to set useragent in php: 1. Use curl to set user_agent, code such as "curl_setopt($curl, CURLOPT_USERAGENT...)"; 2. Use file_get_contents to set user_agent.
The operating environment of this article: Windows 7 system, PHP 7.1 version, DELL G3 computer
I have been using PhpQuery recently and found that I am crawling some web pages. The content is empty content. After asking, I learned that the attribute "User Agent" is set. So I have been looking for how to set the UserAgent in PhpQuery. Unfortunately, there are too few PhpQuery documents and I can't find it yet. So I looked for ways to set the UserAgent natively in PHP and found two.
No User Agent code:
<?php include 'phpQuery.php'; phpQuery::newDocumentFile('https://www.weiyiqi.net'); if(strstr(pq("")->html(),"mochoublog",false)) { echo "存在"; } else{ echo "不存在"; } ?>
Effect:
页面输出“不存在”
With User Agent code:
<?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 "不存在"; } ?>
Effect:
页面输出“存在”
Use curl Set 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);
Use file_get_contents to set user_agent:
ini_set('user_agent', 'Chrome 42.0.2311.135');
If you use PhpQuery to crawl web pages, use the second method to set UserAgent. Method one is invalid. But if you directly use curl to crawl web pages, of course you can use method 1 "curl_setopt($curl, CURLOPT_USERAGENT,'Input user agent')" to set it directly.
Recommended learning: "PHP Video Tutorial"
The above is the detailed content of How to set useragent in php. For more information, please follow other related articles on the PHP Chinese website!