1.PHP微信公众号开发之配置验证
2017-03-30 21:10
309 查看
这是我在CSDN上发的第一篇博客,多多关照!
由于前几年接触过微信公众号的开发,给我的印象是简单缺不失趣味,然后后面又去搞了JAVA WEB开发
,考虑到JAVA太重不太适合微信开发,所以选择了以高效易上手的PHP来进行微信的开发(几年前也是用的PHP 囧)
随着移动互联网的发展,微信的地位也不需要我多做解释了。开发微信公众号能节省很多成本,而且拥有8亿的流量入口,相比起传统的Android和IOS平台的推广那也是大大的方便!
好了切入正题,今天带来的是微信公众号开发的配置验证,这是微信开发要做的第一步也是对微信开发认知很重要的一步。
1.进入微信公众号后台进入开发者模式将各项参数配置好
2.编写自己的验证代码
4.将部署完的代码填入微信公众平台的配置选项,提交通过就ok了
由于前几年接触过微信公众号的开发,给我的印象是简单缺不失趣味,然后后面又去搞了JAVA WEB开发
,考虑到JAVA太重不太适合微信开发,所以选择了以高效易上手的PHP来进行微信的开发(几年前也是用的PHP 囧)
随着移动互联网的发展,微信的地位也不需要我多做解释了。开发微信公众号能节省很多成本,而且拥有8亿的流量入口,相比起传统的Android和IOS平台的推广那也是大大的方便!
好了切入正题,今天带来的是微信公众号开发的配置验证,这是微信开发要做的第一步也是对微信开发认知很重要的一步。
1.进入微信公众号后台进入开发者模式将各项参数配置好
2.编写自己的验证代码
<?php define('Token', 'weixin'); //定义Token 这里填自己在参数里配置的Token $wechat_obj = new checkCallbackApi(); if(isset($_GET['echostr'])) //通过判断echostr是否是验证接口 { $wechat_obj->valid(); //调用$wechat_obj实例的valid方法 } else { echo '调用responseMsg方法'; $wechat_obj->responseMsg();//调用$wechat_obj实例的responsemsg方法 } class checkCallbackApi { /* 配置环境输出echostr的function */ public function valid() { $echoStr = $_GET['echostr']; //通过GET方法获取echostr的值 if($this->checksSignature) //调用checkSignature方法验证signature { echo $echoStr; //输出echoStr exit; } } /* 校检signature的function */ private function checksSignature() { $signature = $_GET['signature']; //GET方式得到signature $timestamp = $_GET['timestamp']; //GET方式得到timestamp(时间戳) $nonce = $_GET['nonce']; //GET方式得到nonce $token = Token; //获得预定义的Token $tmpArr = array($token,$timestamp,$nonce); //获得$token,$timestamp,$nonce组成的数组 sort($tmpArr); //对数组按字母进行排序 $tmpArr = implode($tmpArr); //将tmpArr转换成字符串 $tmpArr = sha1($tmpArr); //对字符串进行sha1加密 //将sha1加密后的字符串与接收到的signature进行比对 相等则返回true if($tmpArr == $signature) return true; else return false; } /* 返回消息的function */ public function responseMsg() { $postStr = file_get_contents('php://input'); //取出POST数据 if(!empty($postStr)) { $postObj = simplexml_load_string($postStr,'SimpleXMLElement',LIBXML_NOCDATA); //夹在POST数据中的XML $FromUsername = $postObj->FromUsername; //获得FromUsername参数 $ToUsername = $postObj->ToUsername; //获得ToUsername参数 $keyword = trim($postObj->Content); //获得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(!empty($keyword)) //验证是否是微信服务器发来的请求 { $msgType = 'text'; //消息类型为text $resultContent = 'Welcome to wechat!'; //返回的消息内容 $returnXMLString = sprintf($textTpl,$FromUsername,$ToUsername,$time,$msgType,$resultContent); //格式化字符串 %s echo $returnXMLString; //输出返回的XML数据 } else { echo 'responseMsg error!'; //输出错误消息 } } } } ?>3.将自己的代码上传至自己的服务器 也可以去申请新浪的sae或者阿里云的虚拟机主机 这些都是可以的
4.将部署完的代码填入微信公众平台的配置选项,提交通过就ok了
相关文章推荐
- php之微信公众号开发(一)接入微信验证和创建自定义菜单
- 4 配置接入验证微信公众号--开发微信的第一道坎儿
- PHP微信公众平台开发:配置、微信api接入验证
- linux后台服务器开发环境部署配置和验证(nginx+apache+php-fpm+FASTCGI(C/C++))
- 微信公众号开发 配置服务器URL,验证Token
- linux后台server开发环境的部署配置和验证(nginx+apache+php-fpm+FASTCGI(C/C++))
- PHP微信公众平台开发:配置、微信api接入验证
- 微信公众号开发笔记(一)服务器配置和验证
- 纯纯纯小白(菜鸡不懂代码)手搭腾讯云服务器apache24+php7+mysql5.6 顺带还有个微擎安装配置 学习开发微信公众号
- 微信公众号开发之php验证消息来自微信thinkphp
- nodejs中微信公众号开发-接口配置和签名验证
- 微信开发中验证 基本配置 的token验证 及自动回复代码(PHP)
- thinkphp开发微信公众号时,验证基本配置提示请求url超时
- 阿里云服务器开发微信公众号,配置的时候总是TOKEN验证失败
- 关于ThinkPHP框架开发微信公众号在微信后台配置服务器URL提示Token验证失败的解决方案
- 开发服务器配置笔记 (Apache PHP MySQL SVN Trac)
- phpweb2.0 开发实战 ----- 配置虚拟主机
- PHP开发环境安装配置全攻略
- php之 php+apache+mysql+phpmyadmin开发环境配置
- 如何配置PHP的开发和调试环境