微信开发服务器配置环境
2018-04-07 22:10
351 查看
第一步
填写接口配置信息,包括:URL(必须以http://或https://开头),Token(口令,必须为英文或数字)。需要服务器,填写的URL需要正确响应微信发送的Token验证。第二步 验证消息的确来自微信服务器,需要写php代码来实现。
最一开始的时候先调用run方法,后再调用responseMsg方法。将写好的php文件传到自己服务器上,利用url网址能正常访问php代码,口令和url都对,接口就配置成功。
填写接口配置信息,包括:URL(必须以http://或https://开头),Token(口令,必须为英文或数字)。需要服务器,填写的URL需要正确响应微信发送的Token验证。第二步 验证消息的确来自微信服务器,需要写php代码来实现。
<?php //定义常量token为123456 define("TOKEN", "123456"); $wechatObj = new wechatCallbackapiTest(); $wechatObj->responseMsg(); class wechatCallbackapiTest { public function run() { $echoStr = $_GET["echostr"];//得到echostr(随机数) if($this->checkSignature()){//判断 echo $echoStr;//最重要!!! exit; } } //回复的消息 public function responseMsg() { $postStr=file_get_contents("php://input");//获得微信发来的字符串 file_put_contents('msg.txt', $postStr);//将字符串写入msg.txt文件中 //判断得到的字符串是否为空 if (!empty($postStr)){ // 将字符串为SimpleXMLElement对象,然后输出 $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA); $fromUsername = $postObj->FromUserName;//发送者的name $toUsername = $postObj->ToUserName;//收到信息的name $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(!empty( $keyword )) { $contentStr = $this->test($keyword); $msgType = "text"; $contentStr = "Welcome to wechat world!";//公众号将自动回复的消息 }else{ echo "Input something..."; } }else { echo ""; exit; } } //获取参数,判断验证信息是否来自微信服务器 private function checkSignature() { //得到 signature:微信加密签名,timestamp:时间戳,nonce:随机数 $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; } } } ?>
最一开始的时候先调用run方法,后再调用responseMsg方法。将写好的php文件传到自己服务器上,利用url网址能正常访问php代码,口令和url都对,接口就配置成功。
相关文章推荐
- 微信开发之本地开发环境的部署;本地当服务器!实时调试;
- [3]_嵌入式开发环境搭建1_在ubuntu16.04.3 安装配置nfs 和 tftp服务器
- [原]阿里云服务器 操作实战 部署C语言开发环境(vim配置,gcc) 部署J2EE网站(jdk,tomcat)
- 微信开发服务器配置
- Java EE开发环境——MyEclipse2017破解 和 Tomcat服务器配置
- 【配置阿里云 I】申请配置阿里云服务器,并部署IIS和开发环境,项目上线经验
- Java开发环境配置(5)--Web 服务器--Tomcat--安装过程遇到的问题
- IIS服务器 远程发布(Web Deploy)配置 VS2010 开发环境 Windows Server 2008服务器系统
- 服务器开发---开发环境配置
- 阿里云服务器 操作实战 部署C语言开发环境(vim配置,gcc) 部署J2EE网站(jdk,tomcat)
- Java企业微信开发_01_接收消息服务器配置
- [笔记]修改hosts文件和apache配置将开发环境的域名和服务器一致
- Ubuntu10.04+mini2440下ARM-linux开发环境搭建(2)----NFS服务器的配置及通过NFS启动linux
- linux 下 VNC Server安装配置及 eclipse CDT C/C++ 开发环境搭建(我用的是阿里云服务器 ubuntu 12.04 64-bit,无图形化界面)
- 用c#开发微信(1)服务号的服务器配置和企业号的回调模式 - url接入 (源码下载)
- fedora9下嵌入式开发环境之NFS服务器的配置及常见错误的解决
- 在服务器搭建javaweb开发环境--安装配置eclips和tomcat
- 腾讯云Centos7.0 服务器上配置java开发环境
- linux后台服务器开发环境部署配置和验证(nginx+apache+php-fpm+FASTCGI(C/C++))
- 在CentOS7阿里云服务器部署ThinkPHP5,并配置phpstrom实现同步开发(微信小程序及管理员后端)