我正在寻找一个好的地理位置api来使用bash。我希望这个电话能够至少返回我所在的城市和州的名称。
我认为必须有一些我可以卷曲的网站,或者某些脚本语言有一个有效的包。该机器没有GPS,但如果需要,它确实在大多数时间使用无线互联网。
答案 0 :(得分:8)
我最近再次查看此问题并找到了whereami
,这是Mac OS X Snow Leopard的地理位置bash脚本,它利用了Core Location。这将比IP地理定位更精确,并且在我的测试中效果很好。
答案 1 :(得分:5)
由于whereami没有(正式)可用于Swift 2和Swift 3,我更深入地发现locateme它在OSX 10.12.4上的作用是什么:
答案 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,看看是否可以使用他们的服务,但他们也为C,Perl,Python等提供了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加密狗。