如何创建脚本来查询 Google Browserlocation
How to create a script to query Google Browserlocation
我正在尝试找出一种从 Google 的浏览器位置 API 获取地理位置数据的方法。我找到了 JSON, CURL and Google's geolocation,并让它在范围内的接入点列表中工作,但我有限的 cli-fu 不允许我将其解析为可以发送到 Google.[=18 的内容=]
到目前为止,我有
nmcli -f SSID,BSSID,SIGNAL dev wifi list
SSID BSSID SIGNAL
ElisaKoti73 00:0C:C3:7F:7E:64 66
Kanala 00:1E:AB:56:84:3F 65
TW-EAV510v236E3 00:1E:AB:09:36:E4 44
WLAN-AP 00:1E:AB:04:C5:C5 32
meduusan verkko 00:1E:AB:54:C4:E0 25
Koti_E8BC EE:43:F6:99:E8:BC 22
Inteno_E1 00:22:07:13:6A:E0 19
我现在想把它变成类似
的东西
https://maps.googleapis.com/maps/api/browserlocation/json?browser=firefox&sensor=true&
wifi=mac:00:0C:C3:7F:7E:64|ssid:ElisaKoti73|ss:66&
编辑: 改编自@hotmultimedia 的回答,我必须
<code>curl "https://maps.googleapis.com/maps/api/browserlocation/json?browser=firefox&sensor=true&" --data-urlencode "`nmcli -f SSID,BSSID,SIGNAL dev wifi list |perl -ne "if(s/^(.+?)\s+(..:..:..:..:..:..)\s+(.+?)\s*$/&wifi=mac:|ssid:|ss:&/g){print;}"`"
现在可以用了,但准确性还差得很远:"accuracy" : 11178
。令人费解的是,如果我在浏览器中复制粘贴相同的地址,返回的 JSON 完全没问题,准确度为 "accuracy" : 52
。有什么想法吗?
以下是使用(略微非最佳 :))Perl oneliner 完成此转换的方法:
perl -ne "if(s/^(.+?)\s+(..:..:..:..:..:..)\s+(.+?)\s*$/https:\/\/maps.googleapis.com\/maps\/api\/browserlocation\/json?browser=firefox&sensor=true&wifi=mac:|ssid:|ss:&\n/g){print;}"
我正在尝试找出一种从 Google 的浏览器位置 API 获取地理位置数据的方法。我找到了 JSON, CURL and Google's geolocation,并让它在范围内的接入点列表中工作,但我有限的 cli-fu 不允许我将其解析为可以发送到 Google.[=18 的内容=]
到目前为止,我有
nmcli -f SSID,BSSID,SIGNAL dev wifi list
SSID BSSID SIGNAL
ElisaKoti73 00:0C:C3:7F:7E:64 66
Kanala 00:1E:AB:56:84:3F 65
TW-EAV510v236E3 00:1E:AB:09:36:E4 44
WLAN-AP 00:1E:AB:04:C5:C5 32
meduusan verkko 00:1E:AB:54:C4:E0 25
Koti_E8BC EE:43:F6:99:E8:BC 22
Inteno_E1 00:22:07:13:6A:E0 19
我现在想把它变成类似
的东西https://maps.googleapis.com/maps/api/browserlocation/json?browser=firefox&sensor=true&
wifi=mac:00:0C:C3:7F:7E:64|ssid:ElisaKoti73|ss:66&
编辑: 改编自@hotmultimedia 的回答,我必须
<code>curl "https://maps.googleapis.com/maps/api/browserlocation/json?browser=firefox&sensor=true&" --data-urlencode "`nmcli -f SSID,BSSID,SIGNAL dev wifi list |perl -ne "if(s/^(.+?)\s+(..:..:..:..:..:..)\s+(.+?)\s*$/&wifi=mac:|ssid:|ss:&/g){print;}"`"
现在可以用了,但准确性还差得很远:"accuracy" : 11178
。令人费解的是,如果我在浏览器中复制粘贴相同的地址,返回的 JSON 完全没问题,准确度为 "accuracy" : 52
。有什么想法吗?
以下是使用(略微非最佳 :))Perl oneliner 完成此转换的方法:
perl -ne "if(s/^(.+?)\s+(..:..:..:..:..:..)\s+(.+?)\s*$/https:\/\/maps.googleapis.com\/maps\/api\/browserlocation\/json?browser=firefox&sensor=true&wifi=mac:|ssid:|ss:&\n/g){print;}"