1、伪造客户端IP地址,伪造访问referer:(一般情况下这就可以访问到数据了)curl_setopt($curl, CURLOPT_HTTPHEADER, ['X-FORWARDED-FOR:110.85.108.185', 'CLIENT-IP:110.85.108.185']);
curl_setopt($curl, CURLOPT_REFERER, 'http://4dn.net/test.php');2、如是上面的还是不行,可能是别人抓到了真实IP,这时候我们就使用代{过}{滤}理访问# 详细方式
curl_setopt($curl, CURLOPT_PROXY, 'x.x.x.x'); //代{过}{滤}理服务器地址
curl_setopt($curl, CURLOPT_PROXYPORT, 80); //代{过}{滤}理服务器端口
//curl_setopt($curl, CURLOPT_PROXYUSERPWD, ':''); //http代{过}{滤}理认证帐号,username:password的格式
curl_setopt($curl, CURLOPT_PROXYTYPE, CURLPROXY_HTTP); //使用http代{过}{滤}理模式
# 简写方式
curl_setopt($curl, CURLOPT_PROXY, 'http://x.x.x.x:80');3、还有一种就是用浏览器可以访问,用curl不行。(对方检查了useragent,如果没有就认为是非法来源等验证了)$useragent = 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 ';
$useragent.= '(KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36';
curl_setopt($curl, CURLOPT_USERAGENT, $useragent);PHP完整Curl抓取数据函数:/**
* 请求接口
* [url=home.php?mod=space&uid=718080]@access[/url] public
* [url=home.php?mod=space&uid=952169]@Param[/url] string $url 请求地址
* @param array $data 提交参数 没有get 有post
* [url=home.php?mod=space&uid=155549]@Return[/url] bean|array
*/
public function send($url='')
{
set_time_limit(0);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 10);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($curl, CURLOPT_HTTPHEADER, ['X-FORWARDED-FOR:127.0.1.1', 'CLIENT-IP:127.0.1.1']);
curl_setopt($curl, CURLOPT_REFERER, 'http://4dn.net/demo.php');
curl_setopt($curl, CURLOPT_PROXY, 'http://127.0.0.1:80');
$useragent = 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 ';
$useragent.= '(KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36';
curl_setopt($curl, CURLOPT_USERAGENT, $useragent);
if(!empty($data) && is_array($data)){
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
}
$html = curl_exec($curl);
if($error=curl_errno($curl)){
return false;
}
curl_close($curl);
return $html;
}
评论
33条评论★霍伟东★ Lv.1
Chrome 110.0.0.0
Windows 回复
四川省绵阳市 电信
超 Lv.1
Chrome 103.0.0.0
Windows 7 回复
厉害
浙江省嘉兴市 电信
磊 Lv.1
Firefox 109.0
Windows 回复
厉害回复了
山西省太原市 联通
ZHDC Lv.1
Chrome 96.0.4664.110
Windows 回复
广东省深圳市 联通
哒哒 Lv.1
Chrome 63.0.3239.132
Windows 回复
学习
中国 移动
356572119 Lv.1
Chrome 107.0.0.0
Windows 回复
学习
河南省驻马店市 电信
1111 Lv.1
Chrome 95.0.4638.69
Windows 回复
学习
河南省驻马店市 联通
京帮帮 Lv.1
Chrome 86.0.4240.198
Windows 回复
新人报道
福建省厦门市 电信
12345 Lv.1
Chrome 99.0.4844.84
Windows 回复
新人报道
学习一下
美国 Computer
轨迹 Lv.1
Chrome 86.0.4240.198
Windows 回复
学习
浙江省温州市 联通