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

yipeiwu_com5年前服务器

学习了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

微信服务器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_list],所以我们单独取出[ip_list]的数组集,并通过foreach循环出每一个微信服务器IP,

代码:

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

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

 

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持【宜配屋www.yipeiwu.com】!

相关文章

使用浏览器访问python写的服务器程序

代码如下所示: import socket import re import multiprocessing def service_client(client_socket):...

使用Python创建简单的HTTP服务器的方法步骤

如果需要一个简单的Web Server,而不是安装那些复杂的HTTP服务程序,比如:Apache,Nginx等。那么可以使用Python自带的包完成一个简单的内建 HTTP 服务器。于是...

php 服务器调试 Zend Debugger 的安装教程

php 服务器调试 Zend Debugger 的安装教程

事实上,Zend Studio(后面我简称“ZDE”了)的调试功能分为内部调试和远程调试。内部调试是用ZDE内置的PHP(有4、5两个版本)进行的代码初步调试,我们把重点放在远程调试上,...

php5.2的curl-bug 服务器被php进程卡死问题排查

php5.2的curl-bug 服务器被php进程卡死问题排查

前几天东政同学反馈说Linode服务器快卡死了,今天有时间排查了一下具体原因,最终原因稍微有点悲壮:file_get_contents没有设置超时时间,加上我用的php5.2关于curl...

在Lighttpd服务器中运行Django应用的方法

lighttpd (http://www.djangoproject.com/r/lighttpd/) 是一个轻量级的Web服务器,通常被用来提供静态页面的访问。 它天生支持FastCG...