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

yipeiwu_com6年前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设计模式之工厂模式详解

在开发大型系统时,往往会出现这样一种情况: 我有一部分基础数据,是类classA是从数据库A读取出来的,其他很多的功能都是基于这个基础数据来操作的。现在呢,我想把数据从数据库A变成从另外...

浅谈php中fopen不能创建中文文件名文件的问题

之前网页的chartset用的是utf-8,文件也用utf-8,然后用fopen()创建一个中文文件名的文件时问题就出来了,文件名都是乱 码! 查看了很多文档试了不少方法都解决不了,本来...

PHP $_FILES中error返回值详解

$_FILES['file']['error']值 UPLOAD_ERR_OK: 0 //正常,上传成功 UPLOAD_ERR_INI_SIZE: 1 //上传文件大小超过服务器允许上传...

判断PHP数组是否为空的代码

PHP判断数组为空首选方法:count($arr),size($arr); 复制代码 代码如下: $arr= array(""); echo count($arr); echo...

PHP不使用内置函数实现字符串转整型的方法示例

PHP不使用内置函数实现字符串转整型的方法示例

介绍 php字符串类型的数字如果想转成整型的数字,一般我们都是采用系统内置的API去做转换,但如果规定就不让我们去用系统内置的API转换,而是让自己去实现一个函数转换该怎么办?这里我们看...