微信公众号自动回复聊天机器人实现(PHP)

1、服务器配置

在“微信公众平台”上将“服务器配置”启用,填写“服务器地址”(即关注者输入消息后调用的回调接口,返回回复文本),“令牌”(在接口验证中要用到),

“消息加解密密钥”、加解密方式暂时设为明文模式,先简单入手。

2、配置接口

public function valid()
{
	$echoStr = $_GET["echostr"];

	if ($echoStr) {
		if ($this->checkSignature()) {
			echo $echoStr;
			exit;
		}
	}
}

当第一步启用的时候,必须先调用这个方法,收到"echostr"后再验证(checkSignature)是否是我们的微信公众号发来的,如果是则把"echostr"回传回去,这个时候第一步点击启用便会成功,否则启用会失败,这个可以用来测试我们这个接口是否写对了。只要第一步启用成功,那之后便不需要再进行验证了,只需直接拿到传过来的信息再进行分析处理。

其中checkSignature方法如下:

private function checkSignature()
{
	$signature = $_GET["signature"];
	$timestamp = $_GET["timestamp"];
	$nonce = $_GET["nonce"];
	$token = "token";
	$tmpArr = array($token, $timestamp, $nonce);
	sort($tmpArr);
	$tmpStr = implode($tmpArr);
	$tmpStr = sha1($tmpStr);

	if ($tmpStr == $signature) {
		return true;
	} else {
		return false;
	}
}

其中$token值便是第一步中设置的token值,记得替换下。

3、处理逻辑

public function responseMsg()
{
	$xml_str = file_get_contents('php://input');
	if (empty($xml_str)) {
		die('');
	}
	if (!empty($xml_str)) {
		// 解析该xml字符串,利用simpleXML
		libxml_disable_entity_loader(tru
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值