我正在尝试找出一种从 Google 浏览器位置 API 获取地理位置数据的方法。我发现JSON、CURL 和 Google 的地理定位 https://stackoverflow.com/questions/13433901/json-curl-and-googles-geolocation,并让它在范围内的接入点列表中工作,但我有限的 cli-fu 不允许我将其解析为可以发送给 Google 的内容。
到目前为止,我已经
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&
Edit:改编自@hotmultimedia的答案,我必须
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:\2|ssid:\1|ss:\3&/g){print;}"`"
以下是如何使用 Perl oneliner(稍微不是最佳的:))完成此转换:
perl -ne "if(s/^(.+?)\s+(..:..:..:..:..:..)\s+(.+?)\s*$/https:\/\/maps.googleapis.com\/maps\/api\/browserlocation\/json?browser=firefox&sensor=true&wifi=mac:\2|ssid:\1|ss:\3&\n/g){print;}"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)