為了把點格式的ip位址轉換成整數表示的ip位址,建立如下mysql函式:
create function ip_calc(ip varchar(20)) returns bigint(20)
return
substring_index(ip,'.',1)*256*256*256
+substring_index(substring_index(ip,'.',2),'.',-1)*256*256
+ substring_index(substring_index(ip,'.',-2),'.',1)*256
+substring_index(ip,'.',-1);
作用是:
點格式的ip地主:115.46.155.242
計算方法:115*256*256*256+46*256*256+155*256+242=1932434418
sql語句:select ip_calc('115.46.155.242');
在mysql中定位的方式為:
select * from data_ip where
ipstart <=ip_calc('115.46.155.242')
andipend >= ip_calc('115.46.155.242');
查詢結果:
ipstart ipend ip_area
1932427264 1932460031 廣西網通
不過查詢效率真是太低了,很慢。
純真IP庫PHP查詢
class ip 檢查ip的合法性 public function checkip ip return true 讀取little endian編碼的4個位元組轉化為長整型數 public function getlong4 讀取little endian編碼的3個位元組轉化為長整型數 public...
用Python指令碼查詢純真IP庫
usr bin env python coding utf 8 用python指令碼查詢純真ip庫 qqwry.dat的格式如下 檔案頭 8位元組 記錄區 不定長 索引區 大小由檔案頭決定 檔案頭 4位元組開始索引偏移值 4位元組結尾索引偏移值 對於國家記錄,可以有三種表示方式 字串形式 ip記錄第...
解析純真IP位址庫
一周以來,一直在做 ip位址庫的解析。從調研到編碼到優化,大概花了有七八天的時間。感覺很好玩。總結一下整個做的過程。1 關於ip 位址庫的解析方式 目前主要的解析方式有兩種 通過api,或通過ip資料庫。ip資料庫方式相對來講複雜一點,需要有完善的資料庫,還要建立相應的查詢服務。優缺點則跟api方式...