Files
Bilibili-gadget/bilibili-API-collect-master/docs/clientinfo/ip.md
T
mckero 8db1d171a0 feat: 重大优化更新 - 修复v14.0并发布Pro版
✨ 新功能:
- 创建bilibili_audio_downloader_pro.py (Pro版) - 全新架构重构
- 添加config.json配置文件支持
- 新增INSTALL.md详细安装指南
- 新增VERSION_COMPARISON.md版本对比说明

🐛 Bug修复 (v14.0):
- 修复中文编码显示问题
- 修复ffmpeg进度条计算不准确
- 改进yt-dlp下载进度解析
- 添加重试机制和超时设置
- 完善错误处理和日志记录

🏗️ Pro版优势:
- 面向对象架构设计,代码更清晰
- 自定义异常类和智能错误恢复
- 准确的进度条显示算法
- 完整的日志系统
- 灵活的配置管理
- 更好的用户体验

📚 文档更新:
- 更新README.md,添加版本对比指引
- 更新requirements.txt依赖列表
- 完善项目文档结构
2025-09-21 12:02:11 +08:00

3.6 KiB

通过ip确定地理位置

根据请求IP确定属地

https://api.bilibili.com/x/web-interface/zone

https://api.live.bilibili.com/xlive/web-room/v1/index/getIpInfo

https://app.bilibili.com/x/resource/ip

请求方式: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 国家/地区代码 第二个接口无

示例:

curl 'https://api.bilibili.com/x/web-interface/zone'
查看响应示例:
{
    "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确定地理位置基本相同

JSON回复:

根对象:

字段 类型 内容 备注
code num 返回值 0: 成功
message str 错误信息 默认为空
msg str 错误信息 同message
data obj 信息本体 出错时为空数组

data对象:

与根据请求IP确定地理位置回复的data对象基本相同, 但无 zone_id country_code 字段

示例:

查询请求IP地址的归属地:

curl -G 'https://api.live.bilibili.com/client/v1/Ip/getInfoNew'
查看响应示例:
{
  "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的归属地:

curl -G 'https://api.live.bilibili.com/ip_service/v1/ip_service/get_ip_addr' \
--data-urlencode 'ip=8.8.8.8'
查看响应示例:
{
  "code": 0,
  "msg": "",
  "message": "",
  "data": {
    "addr": "8.8.8.8",
    "country": "GOOGLE.COM",
    "province": "GOOGLE.COM",
    "city": "",
    "isp": "level3.com",
    "latitude": "",
    "longitude": ""
  }
}