国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

php的curl攜帶header請求頭信息實現http訪問的方法

瀏覽:105日期:2022-09-08 11:35:10

導讀:

curl請求時添加請求頭信息可以模擬真人操作,不容易被當成是爬蟲機器人(采集),從而可以繞過Incapsula等安全驗證機制。

1、首先使用瀏覽器(示例使用的是火狐瀏覽器)訪問接口網址,使用F12調試,查看請求頭信息,如下:

php的curl攜帶header請求頭信息實現http訪問的方法

2、實現代碼:

<?php/** * 開始訪問請求 * @param $url * @return bool|string */function fetch_url($url) {$header = FormatHeader($url);$useragent = ’Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:83.0) Gecko/20100101 Firefox/83.0’;$timeout= 120;$ch = curl_init($url);curl_setopt($ch, CURLOPT_FAILONERROR, true);//設置請求頭信息curl_setopt($ch, CURLOPT_HTTPHEADER, $header);//不取得返回頭信息curl_setopt($ch, CURLOPT_HEADER, 0);// 關閉https驗證curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true );curl_setopt($ch, CURLOPT_ENCODING, '' );curl_setopt($ch, CURLOPT_RETURNTRANSFER, true );curl_setopt($ch, CURLOPT_AUTOREFERER, true );curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout );curl_setopt($ch, CURLOPT_TIMEOUT, $timeout );curl_setopt($ch, CURLOPT_MAXREDIRS, 10 );curl_setopt($ch, CURLOPT_USERAGENT, $useragent);$content = curl_exec($ch);if(curl_errno($ch)){echo ’Error:’ . curl_error($ch);}else{return $content; }curl_close($ch);} //添加請求頭function FormatHeader($url){ // 解析url $temp = parse_url($url); $query = isset($temp[’query’]) ? $temp[’query’] : ’’; $path = isset($temp[’path’]) ? $temp[’path’] : ’/’; $header = array ( 'POST {$path}?{$query} HTTP/1.1', 'Host: {$temp[’host’]}', 'Referer: http://{$temp[’host’]}/', 'Content-Type: text/xml; charset=utf-8', ’Accept: application/json, text/javascript, */*; q=0.01’, ’Accept-Encoding:gzip, deflate, br’, ’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’, ’Connection:keep-alive’, ’User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:83.0) Gecko/20100101 Firefox/83.0’, ’X-Requested-With: XMLHttpRequest’, ); return $header;}?>

3、調用示例:

<?php//lcg_value() 返回范圍為 (0, 1) 的一個偽隨機數$url='http://www.xxx.com/getdata.php?v='.lcg_value();//訪問網址$html = fetch_url($url);

到此這篇關于php的curl攜帶header請求頭信息實現http訪問的方法的文章就介紹到這了,更多相關php的curl請求頭信息實現http訪問內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: PHP
相關文章:
主站蜘蛛池模板: 新安县| 宜阳县| 衡南县| 涿鹿县| 黎城县| 普安县| 湘西| 建瓯市| 什邡市| 扶沟县| 丘北县| 兴文县| 乌兰察布市| 镇平县| 建昌县| 万荣县| 崇左市| 井冈山市| 阿合奇县| 桂林市| 米脂县| 烟台市| 福建省| 宝丰县| 凤凰县| 天柱县| 耒阳市| 沁阳市| 南城县| 清河县| 繁峙县| 巴东县| 兴隆县| 台北市| 慈溪市| 商都县| 通许县| 湟中县| 韩城市| 莫力| 资兴市|