起始ip
結束ip國家省
市區未知運營商
10000000
20000000
中國北京市
北京市海淀區
未知電信
讀取檔案:
listlines = null;
lines = files.readlines(ipfile, charsets.utf_8);
遍歷每一行資訊後存放在immutablelist
中:
static immutablelist start_ip_index;
static immutablelist end_ip_index;
static immutablelist ip_info;
start_ip_index = new immutablelist.builder().addall(startipindextmp.iterator()).build();
end_ip_index = new immutablelist.builder().addall(endipindextmp.iterator()).build();
ip_info = new immutablelist.builder().addall(ipinfotmp.iterator()).build();
需要查詢的ip為標準的***.***.***.***
格式
在進行查詢之前需要判斷該ip字串是否有效:
public
static
boolean
isvalid(string ipstr) |[1-9]\\d|\\d)\\.)(25[0-5]|2[0-4]\\d|1\\d|[1-9]\\d|\\d)";
return (ipstr.matches(ip_format)) ? true : false;
}
public
static
long
ip2long(string ipstr)
return ipinlong;
}
和普通的二分相比,鍵的值是一對數,而且這對數的左值小於等於右值
改下了二分查詢如下:
public
intbinarysearch(long ip)
return -1;
}
根據ip查詢地理位置
圍繞純真資料庫的一系列小工具 文件,文件 文件純真資料庫utf 8版本。轉換工具也以開源形式發布,用php實現 nali,名字取自中文 的拼音。nali包含一組命令列程式,其主要功能就是把一些網路工具的輸出的ip字串,附加上地理位置資訊 使用純真資料庫 例如218.65.137.1會變成218.65...
Python根據IP查詢所在地理位置與運營商
python根據ip查詢所在地理位置與運營商 usr bin env python encoding utf8 author linuxhub.org 根據ip位址查詢出ip所在的地理位置 def get ip info ip import requests ip位址庫介面 r requests.g...
洋山港 地理位置
洋山港區位於浙江省嵊泗縣境內。由大洋山港口區和小洋山港口區組成。可供開發的深水岸線4900公尺,是上海國際航運中心的深水港區。位於嵊泗海域西部大洋山島的北岸。東北距縣城21.41海浬,西北距上海市蘆潮港18.9海浬。大洋山島海岸線總長16697公尺 其中基岩10214公尺 可利用岸線3200公尺,聖...