首页>比特动态>php如何识别代理ip的?
php如何识别代理ip的?

  php如何识别代理ip的?在网络中我们能够抓到大量的代理IP,虽然数量很多,但是真正能够使用的往往是十分之二三都不到,那么在使用之前就需要剔除掉不能用的IP来提高我们的工作效率。


php如何识别代理ip的?


  简单说一下方法,将抓到的IP和端口都放进了我们的MySQL数据表中,要验证肯定需要取出来,然后通过PHP中curl函数设置代理,再访问百度或者其他能访问到的网站,通过返回的状态码是否等于200来判断代理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,这样我们的工作效率就可以得到大大提高。