新浪網易IP地區信息查詢API接口調用方法

原文:http://www.yovisun.me/sina-wangyi-ip-addr-api.html


通過IP地址獲取對應的地區信息通常有兩種方法:

1)自己寫程序,解析IP對應的地區信息,需要數據庫。

2)根據第三方提供的API查詢獲取地區信息。

第一種方法,參見文本《通過純真IP數據庫獲取IP地址對應的地區信息》,這種方法的維護代價較高,而且對自己的服務器有一定的壓力。

隨着技術的開放,第三方已經逐漸免費開放相應的API。經過測試,目前網易和新浪提供的較爲穩定易用。

1)新浪API接口

新浪的IP地址查詢接口:http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js&ip=IP地址

舉例:

測試用例:http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js&ip=115.156.238.114

返回以下信息:

  1. var remote_ip_info = {"ret":1,"start":"115.156.128.0","end":"115.156.255.255","country":"\u4e2d\u56fd","province":"\u6e56\u5317","city":"\u6b66\u6c49","district":"","isp":"\u6559\u80b2\u7f51","type":"\u5b66\u6821","desc":"\u534e\u4e2d\u79d1\u6280\u5927\u5b66\u4e1c\u6821\u533a"};  

文字經過utf-8編碼,分別對應不同的信息。

可以通過javascript跨域直接調用,如(使用jquery):

  1. $.getScript('http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js&ip='+ip, function(_result){   
  2. if (remote_ip_info.ret == '1'){   
  3. alert('IP 詳細信息:', 'IP:'+ip+'<BR>國家:'+remote_ip_info.country+'<BR>省份:'+remote_ip_info.province+'<BR>城市:'+remote_ip_info.city+'<BR>區:'+remote_ip_info.district+'<BR>ISP:'+remote_ip_info.isp+'<BR>類型:'+remote_ip_info.type+'<BR>其他:'+remote_ip_info.desc);   
  4. else {   
  5. alert('錯誤', '沒有找到匹配的 IP 地址信息!');   
  6. }  

2)網易有道API接口

查詢IP地址:http://www.youdao.com/smartresult-xml/search.s?type=ip&q=IP地址

舉例:http://www.youdao.com/smartresult-xml/search.s?type=ip&q=115.156.238.114

返回xml文本信息:

  1. <?xml version="1.0" encoding="gbk"?>  
  2. <smartresult>  
  3. <product type="ip">  
  4. <ip>115.156.238.114</ip>  
  5. <location>湖北省武漢市 教育網</location>  
  6. </product>  
  7. </smartresult>  
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章