php采集时被封ip的解决方法

yipeiwu_com5年前PHP代码库
在网上找了一些资料都没有找到,功夫不负有心人啊,在找的时侯有一个人提到了用搜索引擎爬虫蜘蛛的USERAGENT。虽然只提到一点点我还是想到了,列出我的解决方法,

1.使用Snoopy或curl传搜索引擎爬虫的USERAGENT值。
查看搜索引擎爬虫的USERAGENT值:https://www.jb51.net/yunying/29357.html

2.使用Snoopy或curl传referer值。
如:$snoopy->referer = 'http://www.google.com';
$header[] = "Referer: http://www.google.com/";

3.使用Snoopy或curl代理。
如:$snoopy->proxy_host = "59.108.44.41";
$snoopy->proxy_port = "3128";

4.使用Snoopy或curl防造IP。
如:$snoopy->rawheaders['X_FORWARDED_FOR'] = '127.0.0.1';

5.用php与一个重起路由的程序,这样就会获得新的ip地址。

6.如果发现重起路由还是显示被封,有可能对方封了你的mac地址,现在路由器都有伪造MAC的功能,可以写程序或手动修改路由器的MAC地址,网上也有专门修改网卡mac地址的工具。

相关文章

PHP框架Swoole定时器Timer特性分析

PHP框架Swoole定时器Timer特性分析

本文所述PHP框架Swoole定时器Timer特性分析具有很好的实用价值,值得PHP程序开发人员学习借鉴。具体分析如下: 首先,在各种业务型系统中,往往需要服务器在后台扫描相关数据,触发...

PHP Document 代码注释规范

1. 什么是phpDocumentor ? PHPDocumentor 是一个用PHP写的工具,对于有规范注释的php程序,它能够快速生成具有相互参照,索引等功能的API文档。老的版本是...

全局记录程序片段的运行时间 正确找到程序逻辑耗时多的断点

复制代码 代码如下: // 定义全局变量 记录时间 $_timer_id = 0; // 函数设置全局变量 记录各个断点的运行所需时间 function makeTimer( $note...

Adnroid 微信内置浏览器清除缓存

      微信开发比较头疼的一个情况就是缓存难以清除,然而奇怪的是微信app在IOS中是可以刷新页面的,但是Android中却不知道基...

PHP中empty,isset,is_null用法和区别

1.empty用法 bool empty ( mixed var) 如果 var 是非空或非零的值,则 empty() 返回 FALSE。换句话说,""、0、"0"、NULL、FALS...