# 通过ip确定地理位置 ## 根据请求IP确定属地 > https://api.bilibili.com/x/web-interface/zone > > https://api.live.bilibili.com/xlive/web-room/v1/index/getIpInfo *请求方式:GET* **json回复:** 根对象: | 字段 | 类型 | 内容 | 备注 | | ------- | ---- | -------- | ------- | | code | num | 返回值 | 0:成功 | | message | str | 错误信息 | 默认为0 | | ttl | num | 1 | | | data | obj | 信息本体 | | `data`对象: | 字段 | 类型 | 内容 | 备注 | | ------------ | ---- | ------------- | ------------ | | addr | str | 公网IP地址 | | | country | str | 国家/地区名 | | | province | str | 省/州 | 非必须存在项 | | city | str | 城市 | 非必须存在项 | | isp | str | 运营商名 | | | latitude | num | 纬度 | | | longitude | num | 经度 | | | zone_id | num | ip数据库id | 第二个接口无 | | country_code | num | 国家/地区代码 | 第二个接口无 | **示例:** ```shell curl 'https://api.bilibili.com/x/web-interface/zone' ```
查看响应示例: ```json { "code":0, "message":"0", "ttl":1, "data":{ "addr":"36.40.120.145", "country":"中国", "province":"陕西", "city":"渭南", "isp":"电信", "latitude":34.4995, "longitude":109.492821, "zone_id":4472912, "country_code":86 } } ```
## 查询任意 IP 地址的归属地 > https://api.live.bilibili.com/ip_service/v1/ip_service/get_ip_addr > https://api.live.bilibili.com/client/v1/Ip/getInfoNew 注: 以上接口等效 *请求方式:GET* **URL参数:** | 参数名 | 类型 | 内容 | 必要性 | 备注 | | ------ | ---- | -------- | ------ | ---- | | ip | str | IP地址 | 不必要 | IPv4或IPv6地址不限, 留空与[根据请求IP确定地理位置](#根据请求ip确定地理位置)基本相同 | **JSON回复:** 根对象: | 字段 | 类型 | 内容 | 备注 | | ------- | ---- | -------- | ------- | | code | num | 返回值 | 0: 成功 | | message | str | 错误信息 | 默认为空 | | msg | str | 错误信息 | 同message | | data | obj | 信息本体 | 出错时为空数组 | `data`对象: 与[根据请求IP确定地理位置](#根据请求ip确定地理位置)回复的`data`对象基本相同, 但无 `zone_id` `country_code` 字段 **示例:** 查询请求IP地址的归属地: ```shell curl -G 'https://api.live.bilibili.com/client/v1/Ip/getInfoNew' ```
查看响应示例: ```json { "code": 0, "msg": "", "message": "", "data": { "addr": "104.28.156.113", "country": "新加坡", "province": "新加坡", "city": "", "isp": "cloudflare.com", "latitude": "1.352083", "longitude": "103.819836" } } ```
查询IP地址`8.8.8.8`的归属地: ```shell curl -G 'https://api.live.bilibili.com/ip_service/v1/ip_service/get_ip_addr' \ --data-urlencode 'ip=8.8.8.8' ```
查看响应示例: ```json { "code": 0, "msg": "", "message": "", "data": { "addr": "8.8.8.8", "country": "GOOGLE.COM", "province": "GOOGLE.COM", "city": "", "isp": "level3.com", "latitude": "", "longitude": "" } } ```