Delphi 開發微信公衆平臺 (三)- 獲取微信服務器IP地址

若是公衆號基於安全等考慮,須要獲知微信服務器的IP地址列表,以便進行相關限制,能夠經過該接口得到微信服務器IP地址列表或者IP網段信息。api

接口調用請求說明安全

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

參數說明服務器

參數 是否必須 說明
access_token 公衆號的access_token

返回說明微信

正常狀況下,微信會返回下述JSON數據包給公衆號:app

{"ip_list": [ "127.0.0.1", "127.0.0.2", "101.226.103.0/25" ]}spa

參數 說明
ip_list 微信服務器IP地址列表

錯誤時微信會返回錯誤碼等信息,JSON數據包示例以下(該示例爲AppID無效錯誤):code

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

/// <summary>
/// 獲取微信服務器IP地址
/// </summary>
/// <remarks>
/// 若是公衆號基於安全等考慮,須要獲知微信服務器的IP地址列表,以便進行相關限制,
/// 能夠經過該接口得到微信服務器IP地址列表或者IP網段信息。
/// </remarks>
function TWechatRequest.GetCallbackIP: TWechatIPList;
var
  Response: TJSONObject;
begin
  Response := HttpGet('getcallbackip');
  try
    if ParseResponse(Response) then
      Result := TJson.Json2Object<TWechatIPList>(Response.Values['ip_list'].ToJSON);
  finally
    FreeAndNil(Response);
  end;
end;
相關文章
相關標籤/搜索