需求

在公众号内的输入任意文字,文字相关的第三方网站链接

实现

简单后台设置

我们在微信公众平台上,是可以进行简单的自定义消息回复的。

这里的显然不能满足我们的需求。

配置服务器

配置域名

配置测试服务器

略。

和一般我们配置项目没有区别,所以不再赘述。

本次我们的测试域名是 http://***.***.**/***.php

验证Token

在微信的公众后台的开发 / 基本配置 / 填写服务器配置中

我们需要配置服务器的地址,在启用配置之前,需要经过微信的token验证。

本文使用的实例代码为PHP.

官方文档给出了验证流程图

下面为PHP实现的代码。

//1 获取加密参数

$token = "***";

$signature = $_GET['signature'];

$timestamp =$_GET['timestamp'];

$nonce = $_GET['nonce'];

$echostr = $_GET['echostr'];

//2 排序数组

$list = [

'token'=>$token,

'timestamp'=>$timestamp,

'nonce'=>$nonce,

];

sort($list);

//拼接字符串

$str ="";

foreach ($list as $value){

$str .= $value;

}

//加密

$encode_str = sha1($str);

if($encode_str == $signature){

echo $echostr;

}

接收消息

在官方文档中,有一个对应的事例代码。

https://wximg.gtimg.com/shake_tv/mpwiki/cryptoDemo.zip

第一步,接收普通消息

这里我们采用明文的方式接收数据。

下面采用官方的接口调试工具。

由于是被动调用接口,所以我们只需要从消息中得到最后的用户id以及消息文字就行了。

$msg = file_get_contents("php://input");

$xml = new DOMDocument();

$xml->loadXML($msg);

$from_user_name = $xml->getElementsByTagName("FromUserName")->item(0)->nodeValue;

$msg_type = $xml->getElementsByTagName("MsgType")->item(0)->nodeValue;

$content = $xml->getElementsByTagName("Content")->item(0)->nodeValue;

echo $from_user_name." 说的类型是".$msg_type.", 内容是".$content;

发送消息

当用户发送消息给公众号时(或某些特定的用户操作引发的事件推送时),会产生一个POST请求,开发者可以在响应包(Get)中返回特定XML结构,来对该消息进行响应(现支持回复文本、图片、图文、语音、视频、音乐)。严格来说,发送被动响应消息其实并不是一种接口,而是对微信服务器发过来消息的一次回复。

也就是说,直接返回对应的xml就行。

下面的简单实现代码,直接返回给用户自己说的话。

$msg = file_get_contents("php://input");

$xml = new DOMDocument();

$xml->loadXML($msg);

$from_user_name = $xml->getElementsByTagName("FromUserName")->item(0)->nodeValue;

$to_user_name = $xml->getElementsByTagName("ToUserName")->item(0)->nodeValue;

$msg_type = $xml->getElementsByTagName("MsgType")->item(0)->nodeValue;

$content = $xml->getElementsByTagName("Content")->item(0)->nodeValue;

$time = time();

$str = "

".$time."

";

echo $str;

下面是最终实现的效果

返回超链接

//前后省略,跟上面的一样

$str = "

".$time."

1

";

实现效果

总结

微信的文档还是十分详细的,我们能通过微信实现很多好玩的功能。

参考资料

微信自动回复 html 点击文字,【微信开发】公众号自动回复文字和图文链接(示例代码)...相关推荐

  1. 如何实现微信公众号自动回复

    自微信推出微信公众平台到现在,短短几年,公众号的数量已超过2000万,公众号已经成为人们获取信息.娱乐.学习的一种不可或缺的方式,公众号的兴起也把大家带进一个内容创业的时代. 微信公众号最常用的功能有 ...

  2. java微信公众号自动回复文字加图片

    java微信公众号自动回复文字加图片 开发流程 详细流程,附上代码: 第一步服务器(url)接口配置 服务器(url)接口配置,此步骤就是微信授权接口的过程,如果域名都不改变,微信只会校验一次.此请求 ...

  3. 微信 SHA1 签名_微信公众号自动回复功能开发

    微信公众号自动回复功能开发 本篇主要讲解 微信公众号自动回复功能开发,让我们自己去托管公众号回复的功能,这样可以更加灵活的根据公众号收到的信息来制定特定的回复信息,一起来了解吧! 1.注册公众号 如果 ...

  4. 微信公众号自动回复-底部菜单栏-关键字回复-回复2条消息(1文字,1图片)

    微信公众号自动回复-底部菜单栏-关键字回复-回复2条消息(1文字,1图片)JAVA 主要实现: 1.关注后自动回复文字内容 2.关键字回复图文消息 3.实现公众号自定义底部菜单栏 - 点击菜单栏进入链 ...

  5. 微信公众号自动回复功能如何设置带链接的文字

    为了满足微信公众号自动回复功能设置带链接的文字,第三方平台微号帮提供了粉丝对话定时推送功能实现,帮助公众号在线设置自动回复消息,消息内容可以插入带链接的文字,粉丝点击链接可以进入小程序.h5页面.小游 ...

  6. 微信公众号自动回复消息如何设置带链接的文字

    关于微信公众号实现自动回复消息设置带链接的文字,第三方工具微号帮平台提供了功能粉丝对话定时推送实现,可以设置微信公众号的自动回复消息带链接文字,还可以设置纯文字.图片.文章.小程序.h5小游戏.直播. ...

  7. 微信公众号自动回复的文字信息如何带链接地址

    为了满足微信公众号自动回复信息带链接地址,第三方平台微号帮提供了功能粉丝对话定时推送实现,可以为公众号设置自动回复信息添加链接地址,可以设置延迟自动回复时间,可以按公众号对话粉丝的分组回复消息,如果担 ...

  8. 微信公众号自动回复信息如何设置带链接的文字

    对于微信公众号自动回复信息设置带链接的文字,第三方平台微号帮提供了粉丝对话定时推送功能实现,可以实现公众号自动回复信息设置带链接的文字,可以延迟自动回复信息等;当粉丝向公众号发消息后自动触发回复,如果 ...

  9. asp微信公众号自动回复开发案列之新闻查询机器人

    <% '********************************************** 'ASP文件需要以UTF-8的格式保存,否则乱码. '******************* ...

  10. 微信公众号自动回复功能

    微信公众号自动回复功能分为两种,一种自主开发,一种利用公众号自动开发,两种不可兼容,开发状态的自动回复功能,将导致编辑状态下的菜单,自动回复失效. WeixinchatController代码:  这 ...

最新文章

  1. 深度揭秘垃圾回收底层,这次让你彻底弄懂她
  2. nacos 配置_阿里巴巴 Nacos 分布式配置中心原理
  3. boost::program_options模块实现支持自定义选项语法的测试程序
  4. laravel CURD
  5. 匹配追踪分解 时频 matlab,Matlab匹配追踪(MatchingPursuit) 之一
  6. int在c语言中的作用,C语言中int,Uint,uint16等有什么区别以及用处
  7. 第1章 网站与网站的建设过程
  8. Spring的OpenEntityManagerInViewFilter
  9. JPA环境下使用Hibernate二级缓存
  10. Active Directory的DirectoryEntry与DirectorySearcher初识及Filter语法
  11. Excel Video Game Sales视频游戏销售分析
  12. 就业管理系统(Java毕业设计:SpringBoot项目)
  13. Unity塔防游戏学习(六)
  14. C++中cout<<后面加endl什么意思?
  15. 【Y9000P 2022 GTX3060 CUDA安装记录】
  16. 电脑快捷键你知道多少个?QQ截图快捷键ctrl加什么
  17. adb 进入 recovery adb 进入 bootloader
  18. PyQt5:布局,pushbutton按钮,radiobutton按钮,lableImage设置图片的基本使用方法
  19. 关于2020年与2021年的网搭国赛参考答案发布情况
  20. 对QQ和搜狗拼音的期望 - 2010.6

热门文章

  1. Qt常用UI控件读取、写入方法
  2. RAID磁盘阵列有哪几种?
  3. Excel怎么将两个表格数据合并为一个
  4. z世代消费力白皮书_猫哥清华新传考研|如何让Z世代粉上你?
  5. 利息浅谈(五)——我的投资收益率怎么算?
  6. python复利计算_年化收益率及Python计算
  7. ARTS打卡10-抓住海森堡Bug
  8. 计算机学院部长换届答辩,未来可期,各自精彩——记计算机科学学院2020年两委换届竞职答辩活动...
  9. uniapp压缩图片
  10. 股市底部上证指数与物价上涨的关系01