如何来验证购买的代理IP是否可用

作者:51IP代理 出处:互联网 时间:2020-01-08
    首先说说思路:将抓到的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是否可用
 
    这是验证后的结果,整整100个IP,最后就剩下10个左右,看来在使用之前对代理IP进行验证还是很有必要的。
0