20150311+微信-02

、微信的3大发送接口

1、文本消息回复接口

文本XML模板

wps3927.tmp

参考实例代码:

1)组装XML

wps3928.tmp

2)使用文本消息回复

wps3949.tmp

2音乐回复接口

wps3969.tmp

1)音乐消息接口XML模板:

wps3979.tmp

2)使用音乐接口发送消息

wps398A.tmp

效果:

wps399B.tmp

扩展案例:在线音乐平台作业)

思路:

关键词:音乐(文本消息接口)

如果是音乐回复,那么必须采用音乐回复接口:

重点有4个参数:标题描述标准链接高清链接

3、图文接口重点)

wps39AB.tmp

wps39CC.tmp

1)创建图文接口模板信息

wps39DC.tmp

2)使用单图文消息回复

wps39ED.tmp

3)使用多图文消息回复

wps3A0D.tmp

效果如下:

wps3A1E.tmp

wps3A3E.tmp

六、订阅接口

微信5秒:

wps3A3F.tmp

订阅接口(关注接口)XML模板

wps3A5F.tmp

通过以上XML信息可以得出以下结论:

关注接口有两个参数不同于其他接口:

MsgType:event

Event:subscribe(订阅)

1)添加接收参数变量

wps3A70.tmp

2)判断与执行

wps3A80.tmp

:LBS开发

1什么是LBS?

LBS(Location Based Service):基于地理位置的服务

2、基于LBS的微信开发

$longitude 经度

$latitude 纬度

3、地址位置接口信息

wps3A91.tmp

通过观察可知:如果用户发送地理位置,那么我们在微信端接收时,首先接收MsgType为location,且可以接收到Location_X,Location_Y两个节点

wps3A92.tmp

$longitude = Location_Y;

$latitude = Location_X;

例1:通过经纬度确认用户所在地理位置

思路:可以通过第三方接口来实现对经纬度的判断

Google Map API(需FQ)

百度地图API

高德地图API

凯立德API

以百度地图API为例:

http://developer.baidu.com/

wps3AA3.tmp

wps3AB3.tmp

通过分析可知:

参数格式如下:

ak=密钥

location=经度,维度

output=json或xml

实验运行接口地址:发现可以正常返回信息,说明当前接口请求为get请求

file_get_contents模拟get请求

1)接收经纬度参数

wps3AC4.tmp

2)使用第三方(百度LBS服务)确定当前地理位置

wps3AD5.tmp

运行效果:

wps3AE5.tmp

例2:案例:在三个地区开了三家餐馆,通过LBS服务为客户提供最近的餐馆信息

通过坐标拾取工具选点:

wps3AF6.tmp

广州东站店:113.331222,23.156737

中山大学店:113.304775,23.103031

天朗明居店:113.398294,23.132483

可以采用百度API的测距接口,如下图:

wps3B06.tmp

通过观察可知:

ak = 密钥

waypoints :要测距经纬度信息,多个信息之间通过;隔开

output = xml|json :返回结果

通过运行可知,其模拟的是get请求

file_get_contents

示例代码:

wps3B27.tmp

运行效果:

wps3B37.tmp

扩展案例:百度API返回当前距离最近的酒店信息作业)

思路:采用百度的周边搜索接口,已图文形式返回距离我们最近的5家酒店

扩展案例:使用高德地图返回当前位置与指定位置信息(步行、驾车、公交)(作业)

思路:高德地图

八、小黄鸡(小贱鸡)微信机器人开发

小黄鸡(国外):语言萌萌哒

小九机器人:语言滑稽,什么都敢说

小i机器人:语言正规

图灵机器人:比较正规,语言库丰富

以小九机器人为例:

http://www.xiaohuangji.com/ 小黄鸡(内核:小九)

在实际开发可能并没有很多接口提供给我们直接使用,这个时候我们就必须通过一些手段来获取其接口信息

抓包:

Fiddler

HttpWatch

以HttpWatch为例:

打开网址,输入hello查看显示框信息:

wps3B48.tmp

分析以上结果可以得出以下结论:

真实的请求地址为http://www.xiaohuangji.com/ajax.php

发送请求为post请求(PHP要模拟post)

发送的参数为para

1)模拟POST请求

curl库:

PHP[1] 支持的由Daniel Stenberg创建的libcurl库允许你与各种的服务器使用各种类型的协议进行连接和通讯。

libcurl目前支持http、https、ftp、gopher、telnet、dict、file和ldap协议。libcurl同时也支持HTTPS认证、HTTP POST、HTTP PUT、 FTP 上传(这个也能通过PHP的FTP扩展完成)、HTTP 基于表单的上传、代理、cookies和用户名+密码的认证。

2)如何使用curl库

curl四步走:

第一步:初始化curl请求句柄)

$ch = curl_init();

第二步:设置请求参数

curl_setopt($ch,CURL参数,CURL参数的值);

第三步:执行curl操作

$output = curl_exec($ch);

第四步:关闭curl句柄

curl_close($ch);

3curl模拟破解小黄鸡

wps3B59.tmp

扩展案例:小i机器人,图灵机器人作业)

小i地址:http://www.ibotcloud.com/algorithm.jsp

图灵机器人:http://www.tuling123.com/openapi/cloud/proexp.jsp

原文地址:https://www.cnblogs.com/lifushan/p/5469450.html