微信公众平台开发-微信服务器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 相关文章推荐
Joomla下利用configuration.php存储简单数据
May 19 PHP
php递归实现无限分类生成下拉列表的函数
Aug 08 PHP
PHP5.4中json_encode中文转码的变化小结
Jan 30 PHP
php使浏览器直接下载pdf文件的方法
Nov 15 PHP
PHP中file_exists函数不支持中文名的解决方法
Jul 26 PHP
thinkPHP使用post方式查询时分页失效的解决方法
Dec 09 PHP
PHP操作FTP类 (上传、下载、移动、创建等)
Mar 31 PHP
php array_merge_recursive 数组合并
Oct 26 PHP
PHP水印类,支持添加图片、文字、填充颜色区域的实现
Feb 04 PHP
PHP PDOStatement::getColumnMeta讲解
Feb 01 PHP
laravel异步监控定时调度器实例详解
Jun 21 PHP
PHP框架实现WebSocket在线聊天通讯系统
Nov 21 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
实现分十页分向前十页向后十页的处理
2006/10/09 PHP
PHP URL地址获取函数代码(端口等) 推荐
2010/05/15 PHP
php快递单号查询接口使用示例
2014/05/05 PHP
thinkPHP订单数字提醒功能的实现方法
2016/12/01 PHP
JavaScript CSS修改学习第六章 拖拽
2010/02/19 Javascript
基于jquery的一个浮动框(扩展性比较好 )
2010/08/27 Javascript
JQuery 1.3.2以上版本中出现pareseerror错误的解决方法
2011/01/11 Javascript
jquery定时滑出可最小化的底部提示层特效代码
2013/10/02 Javascript
javascript实现随机读取数组的方法
2015/08/03 Javascript
JavaScript html5 canvas绘制时钟效果
2016/03/01 Javascript
jQuery子元素过滤选择器用法示例
2016/09/09 Javascript
百度地图API之百度地图退拽标记点获取经纬度的实现代码
2017/01/12 Javascript
一次围绕setTimeout的前端面试经验分享
2017/06/15 Javascript
详解ES6之用let声明变量以及let loop机制
2017/07/15 Javascript
解析vue路由异步组件和懒加载案例
2018/06/08 Javascript
JS实现的input选择图片本地预览功能示例
2018/08/29 Javascript
Bootstrap-table自定义可编辑每页显示记录数
2018/09/07 Javascript
微信小程序实现打卡日历功能
2020/09/21 Javascript
vue 项目接口管理的实现
2019/01/17 Javascript
微信小程序解析富文本过程详解
2019/07/13 Javascript
微信小程序页面间传递数组对象方法解析
2019/11/06 Javascript
JavaScript实现网页tab栏效果制作
2020/11/20 Javascript
从源码角度来回答keep-alive组件的缓存原理
2021/01/18 Javascript
[02:59]DOTA2完美大师赛主赛事第三日精彩集锦
2017/11/25 DOTA
Python采集代理ip并判断是否可用和定时更新的方法
2018/05/07 Python
python3实现的zip格式压缩文件夹操作示例
2019/08/17 Python
python实现跨excel sheet复制代码实例
2020/03/03 Python
Python对象的属性访问过程详解
2020/03/05 Python
python中return不返回值的问题解析
2020/07/22 Python
Web时代变迁及html5与html4的区别
2016/01/06 HTML / CSS
Priority Pass机场贵宾室会籍计划:全球超过1200间机场贵宾室
2018/08/26 全球购物
新品发布会策划方案
2014/06/08 职场文书
镇班子对照检查材料思想汇报
2014/09/24 职场文书
2015年高三班主任工作总结
2015/05/21 职场文书
小兵张嘎观后感
2015/06/03 职场文书
vue里使用create, mounted调用方法
2022/04/26 Vue.js