中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

計算機中根據ip地址能查到具體地址

發布時間:2021-03-03 15:28:48 來源:億速云 閱讀:1094 作者:小新 欄目:互聯網科技

這篇文章主要介紹計算機中根據ip地址能查到具體地址,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

根據ip地址是能查到具體地址的;ip地址是根據每臺電腦網絡連接點而得到的一個“身份證”,查詢ip地址可以讓我們有效的知道該電腦在哪個位置。

ip地址是根據每臺電腦網絡連接點而得到的一個“身份證”,查詢ip地址可以讓我們有效的知道該電腦在哪個位置。

根據IP地址查詢具體地理位置的方法

百度地圖有根據IP查詢地址的API

http://lbsyun.baidu.com/index.php?title=webapi/ip-api

1、根據百度地圖API直接IP查地址

API中說,請求如下兩個地址可以根據IP獲取具體地址:

計算機中根據ip地址能查到具體地址

請求參數如下:

計算機中根據ip地址能查到具體地址

若我們請求ip為192.168.1.1的話,那么請求地址構造如下:

http://api.map.baidu.com/location/ip?ak=XXX(自己申請的API TOKEN)&ip=192.168.1.1

這里采取Python為實驗語言,代碼及注釋如下:

from urllib import request
import json

# ak is bound with ip
baidu_api_ak = "ZX9QCmwzzItzRO5ssD7GNgEwD4OQduWR"
ip_addr = "xxx.xxx.xxx.xxx"
# Request url
url = "http://api.map.baidu.com/location/ip?ak=" + baidu_api_ak + "&ip=" + ip_addr
req = request.Request(url)
res = request.urlopen(req)
res = res.read()
# Bytes to str
n = res.decode(encoding='utf-8')
# str to json
s = json.loads(n)
t = json.dumps(s, ensure_ascii=False)
print(n)
print(t)

上述代碼大概意思是,請求url讀取返回的流,并將其轉化為json格式,結果如下圖所示:

計算機中根據ip地址能查到具體地址

注意到上圖中,只能看到,四川省成都市這一很大范圍的,而其中的"street"等字段查詢出來是空的。也就是說,只能查詢到一個大概的范圍。

PS:返回來的值中也有經緯度,但是根據原文檔來看,這些經緯度是IP所在城市中心點的經緯度。

2、先查經緯度,根據經緯度查地址。

根據IP查經緯度,百度地圖沒有給出API,但是墻外還是有資源。這里不貼,自己去找吧。。。

假如得到經緯度后,可以通過經緯度+百度地圖API查詢到詳細地址。

百度地圖的全球逆地址編碼API如下:

http://lbsyun.baidu.com/index.php?title=webapi/guide/webservice-geocoding-abroad

如下圖,假設我們已經獲取到經緯度了,按照API上的規則來說,location參數后面的就是經緯度。根據經緯度,我們能查到詳細地址。

計算機中根據ip地址能查到具體地址

實驗代碼及注釋如下:

#! /usr/bin/env python
# coding=utf-8

from urllib import request
import json

# ak is bound with ip
baidu_api_ak = "ZX9QCmwzzItzRO5ssD7GNgEwD4OQduWR"
url = "http://api.map.baidu.com/geocoder/v2/?callback=renderReverse&location=30.6667,104.0670&output=json&pois=1&ak=" + baidu_api_ak
req = request.Request(url)
res = request.urlopen(req)
res = res.read()
n = res.decode(encoding='utf-8')
# The result format is renderReverse&&renderReverse(json str). so....
n = n[len("renderReverse&&renderReverse") + 1:-1]
st = json.loads(n)
# st's structure
#   result: XXXX
#   status: XXXX
result = st["result"]
for i in result:
    print(i, result[i])

結果如下:

計算機中根據ip地址能查到具體地址

這里的地址已經很詳細了,只不過沒有詳細的解析,看起來有點亂,要想獲得指定的位置信息,可以參考API。

不過,通常這樣查詢的結果都不是對的,可能因為是運營商對用戶保密,查出來的地址可能是運營商服務器的地址,具體是什么未做深究。

以上是“計算機中根據ip地址能查到具體地址”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

荥阳市| 苍南县| 鄱阳县| 兴仁县| 江油市| 永川市| 铜陵市| 桃园市| 桓台县| 杂多县| 吴川市| 乌拉特后旗| 疏勒县| 长沙县| 长白| 左云县| 兴城市| 德清县| 廉江市| 布拖县| 开远市| 赤城县| 枣强县| 沧源| 曲松县| 宜都市| 嘉荫县| 顺义区| 小金县| 滁州市| 广安市| 遂川县| 祥云县| 杭州市| 东方市| 闽清县| 自贡市| 安多县| 天津市| 宿松县| 淮滨县|