Skip to content

用户IP地址定位

获取用户 IP 地址位置

C2S GET /bp/ip2location/ipv4

S2S GET /bp/server/user/{user_id}/ip2location/ipv4

接口功能:根据用户 IP 地址获取其地理位置信息。

注意

  • 通过请求头中的 X-Forwarded-For 字段获取用户的 IP 地址。
  • S2S 接口不校验 user_id,可以传递任何不为空字符串,示例 /bp/server/user/a/ip2location/ipv4
  • 地理位置数据来自 IP2Location 库。国家代码、国家名称字段若为 -,表示该 IP 所在地址段在库中未划归任何国家:通常对应区域互联网注册机构(RIR)保留、尚未分配的区段,或用于未来分配、特殊用途、私网等情形。其余字段(地区、城市、经纬度、邮编等)在无有效数据时也可能为 -。调用方应一律按「无有效地理信息」处理,勿将 - 当作真实国家、地名或坐标。

请求头部参数 (Headers):

C2S 请求头部参数

参考接入 BytePower

  • X-BytePower-Sign:请求体签名
S2S 请求头部参数
  • X-BytePower-Auth-Token:服务端认证 Token。

请求体 (Body):无

响应

  • HTTP 状态码:200

    描述:请求成功 响应示例:

  • 参数类型(除 ip 外,地理相关字段在无数据时可能为 -,见上文「注意」)

    名字类型示例是否必填描述
    country_codestringCNtrue国家代码;为 - 时表示该地址段未划归任何国家(见上文「注意」)
    country_namestringChinatrue国家名称;含义同 country_code
    regionstringYunnantrue地区/省份名称;无数据时为 -
    citystringKunmingtrue城市名称;无数据时为 -
    ipstring220.165.252.201trueIP 地址
    latitudestring25.01497true纬度;无数据时为 -
    longitudestring102.74362true经度;无数据时为 -
    zip_codestring650000true城市邮编;无数据时为 -
json
{
  "city": "Kunming",
  "country_code": "CN",
  "country_name": "China",
  "ip": "220.165.252.201",
  "latitude": "25.01497",
  "longitude": "102.74362",
  "region": "Yunnan",
  "zip_code": "650000"
}

HTTP 状态码:4xx 描述:错误 响应示例:

json
{
  "error": {
    "error_type": "invalid_parameter",
    "message": "xxxxx"
  }
}

error_type:

  • invalid_parameter(参数错误,比如解析不到用户 ip)
  • backend unavailable(服务出现错误,此接口极少情况会出现)

京ICP备19011570号-2