zoukankan      html  css  js  c++  java
  • 用curl抓取网站数据,仿造IP、防屏蔽终极强悍解决方式

     

    最近在做一些抓取其它网站数据的工作,当然别人不会乖乖免费给你抓数据的,有各种防抓取的方法。不过道高一尺,魔高一丈,通过研究都是有漏洞可以钻的。下面的例子都是用PHP写的,不会用PHP来curl的孩纸先学习一下这块再往下看。

          下面言归正传,先说一种常见的方式,伪造来源IP,这也是好多刷票朋友常用的方法:

    1、简单一点的可以在header伪造X-FORWARDED-FOR,并伪造referer,代码如下:

    curl_setopt($ch, CURLOPT_HTTPHEADER, array('X-FORWARDED-FOR:111.222.333.4','CLIENT-IP:111.222.333.4'));
    curl_setopt($ch, CURLOPT_REFERER,"http://www.test.com");


    2、上面的方法大多数能糊弄过去,但也有抓到了真实IP的。就使用代理,麻烦在于你有一个有效的代理ip和端口号,有的还需要用户名密码,代码如下:

    curl_setopt($ch, CURLOPT_PROXY,"http://111.222.333.4:110");

          另外还有一种情况,就是用浏览器可以访问,用curl就是不行,发现对方检查了useragent,如果没有就认为是抓取等非法来源,那么我们就自己在header加上useragent,代码如下:
    curl_setopt($ch, CURLOPT_USERAGENT,"Mozilla/5.0 (Windows NT 6.1) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.57 Safari/536.11");

    啦啦啦,完工~


  • 相关阅读:
    数据提交方式:post和get
    什么是SQL注入式攻击和如何防范?
    CSS3 @keyframes 规则
    php数据库连接及简单操作
    深入理解CSS过渡transition
    css 选择器
    利用border制作三角形原理
    iOS 8 自适应 Cell
    dSYM 文件分析工具
    iOS开发使用半透明模糊效果方法整理
  • 原文地址:https://www.cnblogs.com/webzhangnan/p/2913102.html
Copyright © 2011-2022 走看看