我正在尝试使用freegeoip从shell获得纬度和经度。当我尝试以下命令时:
$ curl -s --get http://freegeoip.net/json/74.201.113.118 | grep -Po '(?<="latitude":)[^,}]*'
$ curl -s --get http://freegeoip.net/json/74.201.113.118 | grep -Po '(?<="longitude":)[^,}]*'
我能够获得一些值,但是每当我用自己的ip地址替换ip地址时,命令只输出0。知道为什么吗?
问题是使用私有ip。由于私有ip是位置独立的,所以freegeoip.net什么也不检索。使用公网ip而不是私有ip解决了这个问题。