php -- 微信公众平台开发--微信服务器IP接口使用
本文主要介绍了微信公众平台开发中的微信服务器IP接口(用于获取微信服务器IP地址)的使用方法,具有很好的参考价值,欢迎大家的学习。
学习了access_token的获取及应用后,就要使用access_token调用下其他微信公众平台的接口,加深认识与使用方法。
获取微信服务器IP地址实例
接口介绍
如果公众号基于安全等考虑,需要获取微信服务器的IP地址列表,来进行相关限制,我们就通过该接口获得微信服务器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"}
代码:
/* *获取微信服务器IP地址*/
$appid = "wx78478e595939c538";
$secret = "5540e8ccab4f71dfad752f73cfb85780";
$url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".$appid."&secret=".$secret;
$output = httpGet($url);
$token = json_decode($output, true);
//获取到access_token参数
$token = $token['access_token'];
//获取微信服务器IP接口地址
$ipurl = "https://api.weixin.qq.com/cgi-bin/getcallbackip?access_token=".$token."";
$iparr = json_decode(httpGet($ipurl), true);
foreach ($iparr['ip_list'] as $key => $value) {
echo $value . "<br>";//用循环的方式打印IP集合
}
/**
* 请求
*
* @param string $url url参数
*
* @return 数据
*/
function httpGet($url) {
$curl = curl_init();
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_TIMEOUT, 500);
// 为保证第三方服务器与微信服务器之间数据传输的安全性,所有微信接口采用https方式调用,必须使用下面2行代码打开ssl安全校验。
// 如果在部署过程中代码在此处验证失败,请到 http://curl.haxx.se/ca/cacert.pem 下载新的证书判别文件。
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, true);
curl_setopt($curl, CURLOPT_URL, $url);
$res = curl_exec($curl);
curl_close($curl);
return $res;
}
代码解析
使用httpGet()函数,获取到access_token后,继续替换$ipurl值的access_token值;
$iparr = json_decode(httpGet($ipurl), true);通过httpGet()函数获取$ipurl的数据,
然后通过json_decode函数处理后,获取到$iparr,此时,该变量值为一个二维数组,如图所示;

我们需要的是数组中的[ip_list],所以我们单独取出[ip_list]的数组集,并通过foreach循环出每一个微信服务器IP,
代码:
foreach ($iparr['ip_list'] as $key => $value) {
echo $value."<br>";//用循环的方式打印IP集合
}
运行程序调用接口结果,如图所示。

以上就是本文php -- 微信公众平台开发--微信服务器IP接口使用的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持本站!

相关推荐
深度学习 -- 损失函数
深度残差网络(Deep Residual Networks (ResNets))
深度学习 -- 激活函数
神经网络训练 -- 调整学习速率
生成对抗网络(GAN)改进与发展
生成对抗网络(GAN)优点与缺点
生成对抗网络(GAN)的训练
生成对抗网络(GAN)基本原理
生成模型与判别模型