VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > PHP >
  • PHP随机生成国内IP的函数

生成IP我们只要生成一个字符串就可以了,在指定范围的int可存储的空间中就可以生成ipv4的ip数据了,下面我们一起来来看看.

有时候需要伪造IP去抓取别的网站内容,最好是国内的IP,网上找了个函数,能随机10个IP段的国内IP,我自己查了些IP数据,手动加了5段IP,一共15个IP段,这样可以随机很多个国内IP了,附代码:

  1. function rand_ip(){ 
  2.  $ip_long = array
  3.   array('607649792''608174079'), //36.56.0.0-36.63.255.255 
  4.   array('975044608''977272831'), //58.30.0.0-58.63.255.255 
  5.   array('999751680''999784447'), //59.151.0.0-59.151.127.255 
  6.   array('1019346944''1019478015'), //60.194.0.0-60.195.255.255 
  7.   array('1038614528''1039007743'), //61.232.0.0-61.237.255.255 
  8.   array('1783627776''1784676351'), //106.80.0.0-106.95.255.255 
  9.   array('1947009024''1947074559'), //116.13.0.0-116.13.255.255 
  10.   array('1987051520''1988034559'), //118.112.0.0-118.126.255.255 
  11.   array('2035023872''2035154943'), //121.76.0.0-121.77.255.255 
  12.   array('2078801920''2079064063'), //123.232.0.0-123.235.255.255 
  13.   array('-1950089216''-1948778497'), //139.196.0.0-139.215.255.255 
  14.   array('-1425539072''-1425014785'), //171.8.0.0-171.15.255.255 
  15.   array('-1236271104''-1235419137'), //182.80.0.0-182.92.255.255 
  16.   array('-770113536''-768606209'), //210.25.0.0-210.47.255.255 
  17.   array('-569376768''-564133889'), //222.16.0.0-222.95.255.255 
  18.  ); //phpfensi.com 
  19.  $rand_key = mt_rand(0, 14); 
  20.  $huoduan_ip= long2ip(mt_rand($ip_long[$rand_key][0], $ip_long[$rand_key][1])); 
  21.  return $huoduan_ip

补充:long2ip函数

把存储空间降到了接近四分之一(char(15)的15个字节对整形的4个字节),计算一个特定的地址是不是在一个区段内页更简单了,而且加快了搜索和排序的速度(虽然有时仅仅是快了一点).

例子:

$ip = long2ip(3232235881);   

echo $ip;//127.255.255.255

出处:http://www.phpfensi.com/php/20160825/10580.html

 


相关教程