微信开发入门

微信开发需要搭建PHP环境

参考链接:Apache2.2与php5.3.5如何整合?如何能够被使用_百度经验

搭建的过程出现了很多坑,只能小心,重复搭建了,错误原因可能是VC9或VC11环境没有配置的原因,多试试才行。

然后通过基本配置修改微信服务器配置,这样发送的消息就会发送到我们的URL,而不是微信官方的,从而实现自定义微信。

接入微信公众平台开发,开发者需要按照如下步骤完成:

1、填写服务器配置
2、验证服务器地址的有效性
3、依据接口文档实现业务逻辑

第一步:填写服务器配置

登录微信公众平台官网后,在公众平台后台管理页面 - 开发者中心页,点击“修改配置”按钮,填写服务器地址(URL)、Token和EncodingAESKey,其中URL是开发者用来接收微信消息和事件的接口URL。Token可由开发者可以任意填写,用作生成签名(该Token会和接口URL中包含的Token进行比对,从而验证安全性)。EncodingAESKey由开发者手动填写或随机生成,将用作消息体加解密密钥。

同时,开发者可选择消息加解密方式:明文模式、兼容模式和安全模式。模式的选择与服务器配置在提交后都会立即生效,请开发者谨慎填写及选择。加解密方式的默认状态为明文模式,选择兼容模式和安全模式需要提前配置好相关加解密代码,详情请参考消息体签名及加解密部分的文档。

此处的URL为自定义的云应用的IP或域名,而Token在index.php中定义为weixin,由你自己定义,也可以为其他的。EncodingAsKey
不用填,可以直接生成,

第二步:验证服务器地址的有效性

开发者提交信息后,微信服务器将发送GET请求到填写的服务器地址URL上,GET请求携带四个参数:

signature 微信加密签名,signature结合了开发者填写的token参数和请求中的timestamp参数、nonce参数。
timestamp 时间戳
nonce 随机数
echostr 随机字符串

在开发者首次提交验证申请时,微信服务器将发送GET请求到填写的URL上,并且带上四个参数(signature、timestamp、nonce、echostr),开发者通过对签名(即signature)的效验,来判断此条消息的真实性。

此后,每次开发者接收用户消息的时候,微信也都会带上前面三个参数(signature、timestamp、nonce)访问开发者设置的URL,开发者依然通过对签名的效验判断此条消息的真实性。效验方式与首次提交验证申请一致。

下面的代码实现了输入一个?返回当前时间的功能,其中valid的方法,是用于验证接口的,responseMsg方法用于返回消息

<?php
/*方倍工作室 http://www.cnblogs.com/txw1958/CopyRight 2013 www.fangbei.org  All Rights Reserved
*/define("TOKEN", "weixin");
$wechatObj = new wechatCallbackapiTest();
if (isset($_GET['echostr'])) {$wechatObj->valid();
}else{$wechatObj->responseMsg();
}class wechatCallbackapiTest
{public function valid(){$echoStr = $_GET["echostr"];if($this->checkSignature()){header('content-type:text');echo $echoStr;exit;}}private function checkSignature(){$signature = $_GET["signature"];$timestamp = $_GET["timestamp"];$nonce = $_GET["nonce"];$token = TOKEN;$tmpArr = array($token, $timestamp, $nonce);sort($tmpArr, SORT_STRING);$tmpStr = implode( $tmpArr );$tmpStr = sha1( $tmpStr );if( $tmpStr == $signature ){return true;}else{return false;}}public function responseMsg(){$postStr = $GLOBALS["HTTP_RAW_POST_DATA"];if (!empty($postStr)){$postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);$fromUsername = $postObj->FromUserName;$toUsername = $postObj->ToUserName;$keyword = trim($postObj->Content);$time = time();$textTpl = "<xml><ToUserName><![CDATA[%s]]></ToUserName><FromUserName><![CDATA[%s]]></FromUserName><CreateTime>%s</CreateTime><MsgType><![CDATA[%s]]></MsgType><Content><![CDATA[%s]]></Content><FuncFlag>0</FuncFlag></xml>";if($keyword == "?" || $keyword == "?"){$msgType = "text";$contentStr = date("Y-m-d H:i:s",time());$resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);echo $resultStr;}}else{echo "";exit;}}
}
?>

第三步:依据接口文档实现业务逻辑
这里就在于自己开发了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/493953.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

实现计算机界“大满贯”,芮勇博士再获技术成就大奖

来源&#xff1a;联想研究院近日&#xff0c;国际计算机协会&#xff08;ACM&#xff09;多媒体专委会&#xff08;Special Interest Group on Multimedia&#xff0c;简称SIGMM&#xff09;2018技术成就奖揭晓了。在全球众多的候选人当中&#xff0c;该奖最终花落联想集团首席…

机器人流程自动化崛起,中国是否准备好迎接智能自动化时代?

来源&#xff1a;亿欧智库摘要&#xff1a;机器人流程自动化&#xff08;Robotic Process Automation, RPA&#xff09;正迅速成为企业改善服务、提高效率和降低成本的关键工具。对此&#xff0c;PWC针对国内RPA市场展开了调查&#xff0c;预计未来45%的工作活动可以实现自动化…

加州伯克利大学:自动驾驶中虚拟到现实的强化学习|厚势汽车

来源&#xff1a;同济智能汽车研究所UCB 提出了虚拟场景到真实场景的翻译网络&#xff0c;解决强化学习用于自动驾驶虚拟测试中与现实测试的差异。强化学习需要大量的试错&#xff0c;而真实的自动驾驶车辆&#xff08;AV&#xff09;无法提供大量的试错为此 AV 强化学习使用虚…

2019年机器学习:追踪人工智能发展之路

作者&#xff5c;Hussain Fakhruddin编译&#xff5c;专知整理&#xff5c;Yingying&#xff0c;李大囧摘要&#xff1a;“智能助理”的时代已经到来了。机器学习已经成为全球数字化转型的关键要素之一 ,在企业领域&#xff0c;机器学习用例的增长在过去几年中也是显著的。预计…

价值2950亿美元的「量子霸权」,技术水平到了哪个阶段

来源&#xff1a;36Kr摘要&#xff1a;谁掌握了量子计算机&#xff0c;谁就可能引领下一次信息革命。当前经典计算体系&#xff0c;并不能解决所有问题。量子计算将给现有的计算理论带来深刻变革&#xff0c;将极大加深人类对物质与信息的理解&#xff1b;将是一种前所未有的计…

微信开发简单实例

本文主要包括以下内容 1. 微信聊天机器人 微信聊天机器人 利用图灵机器人接口实现微信聊天机器人 <?phpdefine("TOKEN", "weixin"); $wechatObj new wechatCallbackapiTest(); if (isset($_GET[echostr])) {$wechatObj->valid(); }else{$wec…

开放政府数据价值:内涵、评价与实践

来源&#xff1a;《政府数据开放研究》作者&#xff1a;陈美 湖北工业大学经济与管理学院分析开放政府数据的价值与评价&#xff0c;有助于政府数据开放更高效地开展。文章在界定开放政府数据价值内涵与层次划分的基础上&#xff0c;介绍国外开放政府数据价值评价进展&#xff…

Smarty模板技术学习

模板引擎技术&#xff1a;使得php代码和html代码分离的技术就称为“模板引擎技术” 自定义smarty模板技术实现 <?php//迷你smarty原理 class MiniSmarty{public $var_arr array();public $template_dir "./view/";public $compile_dir "./view_c/"…

50大产业链全景图(高清完整版)

来源&#xff1a;新材料在线摘要&#xff1a;机器人、无人驾驶、VR、光伏、核电、半导体……50大产业链全景图&#xff0c;让你一次纵观全局。&#xfeff;&#xff08;点击图片查看大图&#xff09;—1—全国各省新材料产业链全景图—2—飞机产业链全景图—3—高铁产业链全景图…

3D打印,智能砖,竹子城市……改变未来建筑业的8项技术

来源&#xff1a;资本实验室科学技术正在彻底改现代生活的方方面面&#xff0c;并且每天都在不断进步&#xff0c;没有任何减速的迹象。绝大多数行业已经并且正在受到技术进步的影响&#xff0c;并越来越接近未来。对于建筑行业而言&#xff0c;以下8种新技术将改变未来建筑业的…

分布式服务框架 Zookeeper -- 管理分布式环境中的数据

安装和配置详解 本文介绍的 Zookeeper 是以 3.2.2 这个稳定版本为基础&#xff0c;最新的版本可以通过官网 http://hadoop.apache.org/zookeeper/来获取&#xff0c;Zookeeper 的安装非常简单&#xff0c;下面将从单机模式和集群模式两个方面介绍 Zookeeper 的安装和配置。 单机…

AI“重造”麻省理工学院!今宣布投资10亿美元成立全新计算学院,近70年来最大结构调整...

来源&#xff1a;Deep Tech深科技摘要&#xff1a;近日&#xff0c;世界顶尖名校麻省理工学院通过学校官方网站宣布重磅消息。近日&#xff0c;世界顶尖名校麻省理工学院通过学校官方网站宣布重磅消息&#xff1a;投资 10 亿美元以引领计算机技术和人工智能技术的发展及全球影响…

PHP数据库操作

PHP实现数据库的增删改查 <?php $connmysql_connect(localhost,root,root); if(!$conn){ echo "connect failed"; exit; }$sqluse test; mysql_query($sql,$conn);//增加 $sql"insert into mytest values(null,pu,20)"; $rsmysql_query($sql,$conn);…

日本机器人实力大盘点,和Atlas的高调刷屏相比,日本机器人的默默崛起更让人忌惮...

来源&#xff1a;机器人大讲堂摘要&#xff1a;近期&#xff0c;估计全球的机器人圈都沉浸在Atlas的三连跳中无法自拔&#xff0c;刷屏的Atlas代表了美国对待科研的态度&#xff1a;我能所以全世界都得膜拜我&#xff01;近期&#xff0c;估计全球的机器人圈都沉浸在Atlas的三连…

不值钱的软件人才[转]

软件人才在中国不值钱&#xff0c;不但价格只比“一文不值”多一点&#xff0c;而且地位也就是一个普通劳动者&#xff0c;和高薪等挂不上钩。这里讲的是中国大陆地区&#xff0c;因为我不知道其他国家的情况&#xff0c;如无特殊声明&#xff0c;以下所有情况均只中国大陆的情…

科学:揭示自由意志的生物学本质

来源&#xff1a;中国科学报摘要&#xff1a;神经科学家开始精确定位大脑中参与自由意志感知的区域。“外星人肢体综合征”听起来也许并非那么像外星人的事&#xff0c;虽然它仍然很怪异。病人们抱怨说&#xff0c;他们的一只手变成了“流氓”&#xff0c;会在自己不知道的情况…

ThinkPHP入门

ThinkPHP项目的创建 <?php include "../../ThinkPHP/ThinkPHP.php"; 在index.php中导入ThinkPHP.php即可&#xff0c;会自动创建目录。 tp创建流程分析 1. 入口文件index.php2. ThinkPHP/ThinkPHP.phprequire THINK_PATH.Common/runtime.php;3. ThinkPHP/…

解密:LL与LR解析 2(译,完结)

由于GFW&#xff0c;我无法联系到作者&#xff0c;所以没有授权&#xff0c;瞎翻译的。原文在这里[http://blog.reverberate.org/2013/07/ll-and-lr-parsing-demystified.html]。 这是第2部分和完结。 3. 解析树的形状 到目前为止&#xff0c;我们使用的算术表达式的那棵树&…

即时配送:新零售时代的“物流新战场”

来源&#xff1a;平安证券2018年8月2日&#xff0c;星巴克和阿里巴巴达成战略合作&#xff0c;共同推出外卖业务&#xff0c;为消费者配送旗下饮料和烘焙食品。这意味着&#xff0c;以后可以在饿了么、手机淘宝等APP上点星巴克外卖了。其实&#xff0c;新零售、新业态的快速发展…

ThinkPHP入门(二)

smarty使用 smarty引入流程 1. 控制器IndexAction.class.phpfunction index()$this -> display(); (父类Action的display) 2. 父类ThinkPHP/Lib/Core/Action.class.phpfunction display()$this->view->display 3. ThinkPHP/Lib/Core/View.class.phpfunction displa…