微信公众平台开发-微信服务器IP接口实例(含源码)


Posted in PHP onMarch 05, 2017

学习了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接口实例(含源码)

返回信息参数说明,如表所示:

参数 说明
ip_list 微信服务器IP地址列表

代码:

<?php
/*
 *获取微信服务器IP地址
*/
require('wei_function.php');
$appid="wx78478e595939c538";
$secret="5540e8ccab4f71dfad752f73cfb85780";
$url="https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".$appid."&secret=".$secret."";
$output=getdata($url);
$token=(array)json_decode($output);
//获取到access_token参数
$token=$token['access_token'];
//获取微信服务器IP接口地址
$ipurl="https://api.weixin.qq.com/cgi-bin/getcallbackip?access_token=".$token."";
$iparr=(array)json_decode(getdata($ipurl));
foreach ($iparr['ip_list'] as $key => $value) {
  echo $value."<br>";//用循环的方式打印IP集合
}
?>

代码解析:

require('wei_function.php');包含wei_function.php

使用getdata()函数,获取到access_token后,继续替换$ipurl值的access_token值;

$iparr=(array)json_decode(getdata($ipurl));通过getdata()函数获取$ipurl的数据,然后通过json_decode函数处理后,获取到$iparr,此时,该变量值为一个二维数组,如图所示;

微信公众平台开发-微信服务器IP接口实例(含源码)

我们需要的是数组中的[ip_list],所以我们单独取出[ip_list]的数组集,并通过foreach循环出每一个微信服务器IP,

代码:

foreach ($iparr['ip_list'] as $key => $value)
{
echo $value."<br>";//用循环的方式打印IP集合
}

运行程序调用接口结果,如图所示。

 微信公众平台开发-微信服务器IP接口实例(含源码)

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

PHP 相关文章推荐
PHP使用者状态管理功能的应用
Oct 09 PHP
使用PHP批量生成随机用户名
Jul 10 PHP
php设计模式 Adapter(适配器模式)
Jun 26 PHP
php使用异或实现的加密解密实例
Sep 04 PHP
PHP使用GIFEncoder类处理gif图片实例
Jul 01 PHP
jquery获取多个checkbox的值异步提交给php的方法
Jun 24 PHP
编写PHP脚本使WordPress的主题支持Widget侧边栏
Dec 14 PHP
PHP入门教程之图像处理技巧分析
Sep 11 PHP
PHP+AJAX 投票器功能
Nov 11 PHP
Laravel 集成 Geetest验证码的方法
May 14 PHP
laravel-admin的多级联动方法
Sep 30 PHP
laravel 框架执行流程与原理简单分析
Feb 01 PHP
php实现留言板功能
Mar 05 #PHP
Linux服务器下PHPMailer发送邮件失败的问题解决
Mar 04 #PHP
php获取网站根目录物理路径的几种方法(推荐)
Mar 04 #PHP
PHP获取路径和目录的方法总结【必看篇】
Mar 04 #PHP
php redis实现对200w用户的即时推送
Mar 04 #PHP
php获取目录中所有文件名及判断文件与目录的简单方法
Mar 04 #PHP
PHP redis实现超迷你全文检索
Mar 04 #PHP
You might like
mysql5的sql文件导入到mysql4的方法
2008/10/19 PHP
php实现点击可刷新验证码
2015/11/07 PHP
PHP实现ASCII码与字符串相互转换的方法
2017/04/29 PHP
用JQuery 实现AJAX加载XML并解析的脚本
2009/07/25 Javascript
Javascript 函数parseInt()转换时出现bug问题
2014/05/20 Javascript
Node.js与PHP、Python的字符处理性能对比
2014/07/06 Javascript
谈谈对JavaScript原生拖放的深入理解
2016/09/20 Javascript
JavaScript判断浏览器及其版本信息
2017/01/20 Javascript
常用jQuery选择器汇总
2017/02/02 Javascript
JavaScript实现一个简易的计算器实例代码
2018/05/10 Javascript
vue组件(全局,局部,动态加载组件)
2018/09/02 Javascript
Vue递归组件+Vuex开发树形组件Tree--递归组件的简单实现
2019/04/01 Javascript
VUE 实现element upload上传图片到阿里云
2020/08/12 Javascript
JavaScript检测是否开启了控制台(F12调试工具)
2020/10/02 Javascript
[06:44]2018DOTA2亚洲邀请赛4.5 SOLO赛 MidOne vs Sumail
2018/04/06 DOTA
python类继承用法实例分析
2014/10/10 Python
Python挑选文件夹里宽大于300图片的方法
2015/03/05 Python
Python实现对PPT文件进行截图操作的方法
2015/04/28 Python
编写Python CGI脚本的教程
2015/06/29 Python
详解Python list 与 NumPy.ndarry 切片之间的对比
2017/07/24 Python
python调用Matplotlib绘制分布点并且添加标签
2018/05/31 Python
Python中pandas dataframe删除一行或一列:drop函数详解
2018/07/03 Python
python3结合openpyxl库实现excel操作的实例代码
2018/09/11 Python
python3.8下载及安装步骤详解
2020/01/15 Python
django admin后管定制-显示字段的实例
2020/03/11 Python
python由已知数组快速生成新数组的方法
2020/04/08 Python
Python使用sys.exc_info()方法获取异常信息
2020/07/23 Python
CSS3实现酷炫的3D旋转透视效果
2019/11/21 HTML / CSS
小学运动会入场式解说词
2014/02/18 职场文书
保卫科工作岗位职责
2014/03/01 职场文书
医院护士党的群众路线教育实践活动对照检查材料思想汇报
2014/10/04 职场文书
后勤个人工作总结
2015/02/28 职场文书
小学英语教师2015年度个人工作总结
2015/10/14 职场文书
感恩信:写给爸爸妈妈的一封感谢信
2019/09/12 职场文书
python-opencv 中值滤波{cv2.medianBlur(src, ksize)}的用法
2021/06/05 Python
Android开发 使用文件储存的方式保存QQ密码
2022/04/24 Java/Android