如何在bash中获取我的地理位置

时间:2010-03-13 00:02:56

标签: api bash geolocation

我正在寻找一个好的地理位置api来使用bash。我希望这个电话能够至少返回我所在的城市和州的名称。

我认为必须有一些我可以卷曲的网站,或者某些脚本语言有一个有效的包。该机器没有GPS,但如果需要,它确实在大多数时间使用无线互联网。

6 个答案:

答案 0 :(得分:8)

我最近再次查看此问题并找到了whereami,这是Mac OS X Snow Leopard的地理位置bash脚本,它利用了Core Location。这将比IP地理定位更精确,并且在我的测试中效果很好。

答案 1 :(得分:5)

由于whereami没有(正式)可用于Swift 2和Swift 3,我更深入地发现locateme它在OSX 10.12.4上的作用是什么:

Screenshot of LocateMe 它第一次请求许可,然后它没有任何额外的交互。此外,format参数很好:

enter image description here

答案 2 :(得分:2)

geolocate-cli仍处于alpha状态,但应该可以胜任。

答案 3 :(得分:1)

刮掉“geoip”的第一个Google点击结果似乎很容易。

$ curl http://www.maxmind.com/app/locate_my_ip |
> awk '/<table>/{RS=RS RS}/tblProduct1/'

我没有检查他们的EULA,看看是否可以使用他们的服务,但他们也为CPerlPython等提供了GeoIP库。您可以分发的“lite”数据库(使用conditions)。

答案 4 :(得分:1)

如果您的平台是支持network-manager的* nixlike,则可以使用此脚本: curl "https://maps.googleapis.com/maps/api/browserlocation/json?browser=firefox&key=AIzaSyDBgL8fm9bD8RLShATOLI1xKmFcZ4ieMkM&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;}"`" 查看How to create a script to query Google Browserlocation了解更多详情。

请注意,此服务存在一些限制。起初工作正常,但现在我得到了"status" : "OVER_QUERY_LIMIT"。我不知道限制是什么,因为我似乎只能找到地理编码参考,但如果有人知道,请告诉我!

答案 5 :(得分:0)

无线互联网意味着WiFi,CDMA2k,UMTS,EDGE ......?还有你的运营商?并不重要。

真。我开始投资GPS加密狗。