首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >利用freegeoip从shell获取经纬度

利用freegeoip从shell获取经纬度
EN

Stack Overflow用户
提问于 2016-09-30 19:49:33
回答 2查看 256关注 0票数 1

我试图从shell中获得纬度和经度。当我尝试以下命令时:

代码语言:javascript
复制
$ 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入口时,命令就只输出0。知道为什么吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-10-01 07:22:00

问题是使用私有ip。由于私有ip与位置无关,因此freegeoip.net不检索任何内容。使用公共ip代替私有ip解决了这一问题。

票数 1
EN

Stack Overflow用户

发布于 2022-10-09 20:46:45

我用自己的命令替换ip入口,命令只输出0。

我认为您正在传递您的私人IP地址,这就是为什么您没有得到任何具体的信息。

获取基于IP地址的位置数据的一个简单方法就是curling IPinfo:

代码语言:javascript
复制
curl ipinfo.io

这将返回您的公共IP地址的信息,您不需要传递任何变量。答复:

代码语言:javascript
复制
{
  "ip": "206.189.17.205",
  "city": "London",
  "region": "England",
  "country": "GB",
  "loc": "51.5085,-0.1257",
  "org": "AS14061 DigitalOcean, LLC",
  "postal": "EC1A",
  "timezone": "Europe/London"
}

IPinfo的API还支持特定字段作为端点:

代码语言:javascript
复制
curl ipinfo.io/loc

这将只返回IP地址作为字符串/文本的位置,例如:

代码语言:javascript
复制
51.5085,-0.1257
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39799101

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档