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://www.demo.com/test.php');
2、如是上面的还是不行,可能是别人抓到了真实IP,这时候我们就使用代理访问。
# 详细方式 curl_setopt($curl, CURLOPT_PROXY, '112.85.209.72'); //代理服务器地址 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://112.85.209.72: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抓取数据函数1:
/** * 请求接口 * @access public * @param string $url 请求地址 * @param array $data 提交参数 没有get 有post * @return 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://www.demo.com/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; }
转载请注明来源地址:小川编程 » https://www.youhutong.com/index.php/article/index/230.html
1、本站发布的内容仅限用于学习和研究目的.请勿用于商业或非法用途,下载后请24小时内删除。
2、本站所有内容均不能保证其完整性,不能接受请勿购买或下载,如需完整程序,请去其官方购买正版使用
3、本站联系方式Email:admin@youhutong.com ,收到邮件会第一时间处理。
4、如侵犯到任何版权问题,请立即告知本站(立即在线告知),本站将及时删除并致以最深的歉意