由于代码太长,一些不必要的代码就不贴出来了,下面看看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的稳定性就一览无余了。
这是验证后的结果,整整100个IP,末了就剩下10个旁边,看来在利用之前对代理IP进行验证还是很有必要的。
更多精彩来自:http://www.shenjidaili.com/