• 有没有比较好的根据IP地址获取所在城市的API推荐?
  • 发布于 1个月前
  • 45 热度
    2 评论

最近做个系统有这么个需求:根据用户的IP地址获取用户所在的城市。就像我们登录饿了么,或者糯米网这样,系统会自动切换到你当前的城市,现在网上有没有比较好用的这种API接口推荐,最好是免费的,谢谢!

用户评论
  • 李寒
  • 可以使用腾讯的位置服务,参考地址如下:https://lbs.qq.com/webservice_v1/guide-ip.html

    概述:通过终端设备IP地址获取其当前所在地理位置,精确到市级,常用于显示当地城市天气预报、初始化用户城市等非精确定位场景。

    请求URL(该请求为GET请求)
    https://apis.map.qq.com/ws/location/v1/ip 

    请求参数

    参数 必填 说明 示例
    ip IP地址,缺省时会使用请求端的IP  ip=202.106.0.20
    key 开发密钥(Key) key=OB4BZ-D4W3U-B7VVO-4PJWW-6TKDJ-WPB77
    output 返回格式:支持JSON/JSONP,默认JSON output=json
    callback JSONP方式回调函数 callback=function1

    响应结果

    名称 类型 必填 说明
    status number 状态码,0为正常,
    310请求参数信息有误,
    311Key格式错误,
    306请求有护持信息请检查字符串,
    110请求来源未被授权
    message string 状态说明
    result object IP定位结果
    ip string 用于定位的IP地址
    location object 定位坐标
    lat number 纬度
    lng number 经度
    ad_info object 定位行政区划信息
    nation string 国家
    province string
    city string
    district string
    adcode number 行政区划代码

    调用示例


    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    //响应示例:
    {
        "status": 0,
        "message":"query ok",
        "result": {
            "ip":"202.106.0.30",
            "location": {
                "lng": 116.407526,
                "lat": 39.90403
            },
            "ad_info": {
                "nation":"中国",
                "province":"",
                "city":"",
                "adcode": 110000
            }
        }
    }

  • 2018/11/18 16:39:00 [ 0 ] [ 0 ] 回复
  • Love5G
  • 给你推荐一个淘宝提供的根据IP获取所在城市的API接口,地址:http://ip.taobao.com/
    接口说明:
    1. 请求接口(GET):
    /service/getIpInfo.php?ip=[ip地址字串]
    2. 响应信息:
    (json格式的)国家 、省(自治区或直辖市)、市(县)、运营商
    3. 返回数据格式:
    {"code":0,"data":{"ip":"210.75.225.254","country":"\u4e2d\u56fd","area":"\u534e\u5317",
    "region":"\u5317\u4eac\u5e02","city":"\u5317\u4eac\u5e02","county":"","isp":"\u7535\u4fe1",
    "country_id":"86","area_id":"100000","region_id":"110000","city_id":"110000",
    "county_id":"-1","isp_id":"100017"}}

    其中code的值的含义为,0:成功,1:失败。

    效果大概如下:

  • 2018/11/18 16:33:00 [ 0 ] [ 0 ] 回复