代理ip知识与免费资源
-
22025年5月
-
262025年4月
-
272025年3月
-
282025年2月
-
162025年1月
-
282024年4月
-
302024年3月
-
292024年2月
-
312024年1月
-
312023年12月
-
302023年11月
-
312023年10月
-
302023年9月
-
312023年8月
-
352023年7月
-
312023年6月
-
312023年5月
-
302023年4月
-
312023年3月
-
282023年2月
-
312023年1月
-
312022年12月
-
302022年11月
-
312022年10月
-
302022年9月
-
312022年8月
-
322022年7月
-
292022年6月
-
322022年5月
-
302022年4月
-
332022年3月
-
312022年2月
-
372022年1月
-
382021年12月
-
382021年11月
-
402021年10月
-
432021年9月
-
372021年8月
-
442021年7月
-
442021年6月
-
432021年5月
-
342021年4月
-
312021年3月
-
292021年2月
-
352021年1月
-
422020年12月
-
402020年11月
-
482020年10月
-
522020年9月
-
852020年8月
-
752020年7月
-
802020年6月
-
782020年5月
-
772020年4月
-
432020年3月
-
362020年2月
-
452020年1月
-
562019年12月
-
712019年11月
-
612019年10月
-
562019年9月
-
532019年8月
-
362019年7月
-
362019年6月
-
382019年5月
-
402019年4月
-
352019年3月
-
342019年2月
-
442019年1月
-
392018年12月
-
402018年11月
-
392018年10月
-
392018年9月
-
452018年8月
-
452018年7月
-
392018年6月
-
512018年5月
-
492018年4月
-
342018年3月
-
282018年2月
-
482018年1月
-
732017年12月
-
7292017年11月
-
7442017年10月
-
2892017年9月
-
12017年8月
首页>代理ip知识与免费资源>正文
php如何验证代理ip
发布日期:2017/9/7 15:27:05 阅读量:19236
说到代理IP,经常使用网络的人都知道,代理IP在我们的生活工作中应用很广泛,那么HTTP代理IP验证呢我们为什么需要对代理IP进行验证呢是因为我们在网络中抓取到的代理IP数量很大,但是使用率取很低,往往不到十之二三,所以在我们使用代理IP对IP进行验证以剔除不能使用的代理IP,剩下的有效代理IP才能够提高我们的工作效率。
这里首先说一下大体思路,在我们抓取到的数据表中,要进行验证的话肯定是需要提取出来的,然后通过PHP中curl函数设置代理,再访问百度或者其他网站,通过返回的状态码是否等于200来判断代理IP是不是可以正常使用的。
由于代码太长,一些不必要的代码就不贴出来了,下面看看curl验证代理IP的核心代码。
//代理IP验证方法 function GetHttpStatusCode($proxy) $curl = curl_init() curl_setopt ($curl, CURLOPT_PROXY, $proxy)//使用代理访问 curl_setopt($curl,CURLOPT_URL,http//www.baidu.com)//获取内容url curl_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在访问百度首页时所返回的状态码,在需要的地方对状态码进行判断就能加以利用了。
这里首先说一下大体思路,在我们抓取到的数据表中,要进行验证的话肯定是需要提取出来的,然后通过PHP中curl函数设置代理,再访问百度或者其他网站,通过返回的状态码是否等于200来判断代理IP是不是可以正常使用的。
由于代码太长,一些不必要的代码就不贴出来了,下面看看curl验证代理IP的核心代码。
//代理IP验证方法 function GetHttpStatusCode($proxy) $curl = curl_init() curl_setopt ($curl, CURLOPT_PROXY, $proxy)//使用代理访问 curl_setopt($curl,CURLOPT_URL,http//www.baidu.com)//获取内容url curl_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在访问百度首页时所返回的状态码,在需要的地方对状态码进行判断就能加以利用了。