# 获取微信服务器 IP 地址

如果公众号基于安全等考虑,需要获知微信服务器的 IP 地址列表,以便进行相关限制,可以通过该接口获得微信服务器 IP 地址列表或者 IP 网段信息。

由于出口 IP 及入口 IP 可能存在变动,建议用户每天请求接口1次,以便于及时更新 IP 列表。为了避免造成单点故障,强烈建议用户不要长期使用旧的 IP 列表作为 api.weixin.qq.com 的访问入口。

# 1. 获取微信 API 接口 IP地址

使用固定 IP 访问 api.weixin.qq.com 时,请开发者注意运营商适配,跨运营商访问可能会存在高峰期丢包问题。

API接口 IP 即api.weixin.qq.com的解析地址,由开发者调用微信侧的接入IP。

接口调用请求说明

http请求方式: GET https://api.weixin.qq.com/cgi-bin/get_api_domain_ip?access_token=ACCESS_TOKEN

参数说明

参数 是否必须 说明
access_token 公众号的access_token

返回说明

正常情况下,微信会返回下述 JSON 数据包给公众号:

{    "ip_list": [        "127.0.0.1",         "127.0.0.2",         "101.226.103.0/25"    ]}
参数 说明
ip_list 微信服务器 IP 地址列表

错误时微信会返回错误码等信息,JSON数据包示例如下(该示例为 AppID 无效错误):

{"errcode":40013,"errmsg":"invalid appid"}

# 2. 获取微信callback IP地址

请开发者确保防火墙、ddos攻击白名单 IP 内已添加回调IP,以避免误拦截的情况出现。

callback IP即微信调用开发者服务器所使用的出口IP。

接口调用请求说明

http请求方式: GET https://api.weixin.qq.com/cgi-bin/getcallbackip?access_token=ACCESS_TOKEN

参数说明

参数 是否必须 说明
access_token 公众号的access_token

返回说明

正常情况下,微信会返回下述 JSON 数据包给公众号:

{    "ip_list": [        "127.0.0.1",         "127.0.0.2",         "101.226.103.0/25"    ]}
参数 说明
ip_list 微信服务器 IP 地址列表

错误时微信会返回错误码等信息,JSON数据包示例如下(该示例为 AppID 无效错误):

{"errcode":40013,"errmsg":"invalid appid"}