2019-11-18 20:50:49 来源: 点击:
首先是验证思路:将抓到的IP和端口从MySQL数据表中取出来,然后通过PHP中curl函数设置代理,再访问百度或者其他能访问到的网站,通过返回的状态码是否等于200来判断代理IP是不是可以正常使用的。
下面是换ip节选的curl验证代理IP的核心代码:
//代理IP验证方法
functionGetHttpStatusCode($proxy){$curl=curl_init();curl_setopt($curl,CURLOPT_PROXY,$proxy);
//使用代理访问
curl_setopt($curl,CURLOPT_URL,"");
//获取内容
urlcurl_setopt($curl,CURLOPT_HEADER,1);
//获取http头信息
curl_setopt($curl,CURLOPT_NOBODY,1);
//不返回html的body信息
curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);
//返回数据流,不直接输出
curl_setopt($curl,CURLOPT_TIMEOUT,5);
//超时时长,单位秒
curl_exec($curl);$rtn=curl_ getinfo($curl,CURLINFO_HTTP_CODE);
curl_close($curl);return$rtn;}
调用GetHttpStatusCode(代理IP地址:端口)方法就能返回该代理IP在访问百度首页时所返回的状态码,在需要的地方对状态码进行判断就能加以利用了。
我在数据表中加入了抓取到代理IP的时间和代理IP被验证的时间,已经存活的时间,这样代理IP的稳定性就一目了然了。
通过这个操作,我们就能够验证代理IP的有效性跟稳定性了。验证代理IP是否有效,才能够更好的将它使用在爬虫、营销当中。
上一篇:谈谈代理IP与网络营销的关系
下一篇:代理服务器的工作流程与普通服务器有什么不同?