微信公众平台开发-微信服务器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 相关文章推荐
定制404错误页面,并发信给管理员的程序
Oct 09 PHP
开源SNS系统-ThinkSNS
May 18 PHP
PHP网站安装程序制作的原理、步骤、注意事项和示例代码
Aug 01 PHP
php笔记之:php函数range() round()和list()的使用说明
Apr 26 PHP
使用Discuz关键词服务器实现PHP中文分词
Mar 11 PHP
PHP与MYSQL中UTF8编码的中文排序实例
Oct 21 PHP
PHP整合PayPal支付
Jun 11 PHP
yii2中的rules 自定义验证规则详解
Apr 19 PHP
解决微信授权回调页面域名只能设置一个的问题
Dec 11 PHP
PHP7基于curl实现的上传图片功能
May 11 PHP
php实现往pdf中加数字签名操作示例【附源码下载】
Aug 07 PHP
laravel框架select2多选插件初始化默认选中项操作示例
Feb 18 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
在Ubuntu 14.04上部署 PHP 环境及 WordPress
2014/09/02 PHP
php实现redis数据库指定库号迁移的方法
2015/01/14 PHP
浅谈PHP中单引号和双引号到底有啥区别呢?
2015/03/04 PHP
Symfony2在Nginx下的配置方法图文教程
2016/02/04 PHP
PHP判断数组是否为空的常用方法(五种方法)
2017/02/08 PHP
PHP里面把16进制的图片数据显示在html的img标签上(实现方法)
2017/05/02 PHP
javascript Demo模态窗口
2009/12/06 Javascript
被jQuery折腾得半死,揭秘为何jQuery为何在IE/Firefox下均无法使用
2010/01/22 Javascript
JS 无法通过W3C验证的处理方法
2010/03/09 Javascript
ASP.NET jQuery 实例14 在ASP.NET form中校验时间范围
2012/02/03 Javascript
jQuery中 noConflict() 方法使用
2013/04/25 Javascript
javascript操作符&quot;!~&quot;详解
2015/02/10 Javascript
[原创]JQuery 在表单提交之前修改 提交的值
2016/04/14 Javascript
基于JavaScript实现轮播图代码
2016/07/14 Javascript
jQuery Easyui Tabs扩展根据自定义属性打开页签
2016/08/15 Javascript
归纳下js面向对象的几种常见写法总结
2016/08/24 Javascript
微信小程序链接传参并跳转新页面
2016/11/29 Javascript
JavaScript定时器制作弹窗小广告
2017/02/05 Javascript
js数组实现权重概率分配
2017/09/12 Javascript
vue移动端UI框架实现QQ侧边菜单组件
2018/03/09 Javascript
vue prop传值类型检验方式
2020/07/30 Javascript
vue3.0+vue-router+element-plus初实践
2020/12/02 Vue.js
python实现颜色rgb和hex相互转换的函数
2015/03/19 Python
使用PDB简单调试Python程序简明指南
2015/04/25 Python
对Django 转发和重定向的实例详解
2019/08/06 Python
python内置函数sorted()用法深入分析
2019/10/08 Python
html5 Canvas画图教程(2)—画直线与设置线条的样式如颜色/端点/交汇点
2013/01/09 HTML / CSS
Waterford加拿大官方网站:世界著名的水晶杯品牌
2016/11/01 全球购物
斯凯奇新西兰官网:SKECHERS新西兰
2018/02/22 全球购物
Hawes & Curtis澳大利亚官网:英国经典服饰品牌
2018/10/29 全球购物
残疾人创业典型事迹
2014/02/01 职场文书
师德模范事迹材料
2014/06/03 职场文书
政协委员个人总结
2015/03/03 职场文书
团组织推荐意见
2015/06/05 职场文书
离婚起诉书范文2016
2015/11/26 职场文书
简单介绍Python的第三方库yaml
2021/06/18 Python