摘要:本文将带你看懂如何对微信公众号进行服务器配置,希望本文对大家学微信有所帮助。
前期准备工作:
· 首先我们需要一个属于自己的公众号,如果没有的话就在这里申请一个测试帐号,具体怎么申请就问百度吧~
· 必须要有一台自己的公网服务器,以供微信服务器访问,如果没有可以去租一台云服务器,不贵几十块钱一个月
· 搭建自己的服务器环境,我的环境是(linux+nginx+php+mysql),具体怎么搭建百度一堆,
部署验证代码:
代码需要能正确响应微信发送的Token验证,我们可以百度别人的验证代码,也可以直接使用微信提供的验证事例代码,在这里
下载完成后,放在我们的WEB服务器下, 能访问就可以了,我的代码如下:
[php] view plain copy print? 1. <?php 2. /** 3. * wechat php test 4. */ 5. 6. //define your token 7. define("TOKEN", "weixin"); 8. $wechatObj = new wechatCallbackapiTest(); 9. if (isset($_GET['echostr'])) { 10. $wechatObj->valid(); 11. }else{ 12. $wechatObj->responseMsg(); 13. } 14. 15. class wechatCallbackapiTest 16. { 17. public function valid() 18. { 19. $echoStr = $_GET["echostr"]; 20. 21. //valid signature , option 22. if($this->checkSignature()){ 23. echo $echoStr; 24. exit; 25. } 26. } 27. 28. public function responseMsg() 29. { 30. //get post data, May be due to the different environments 31. $postStr = $GLOBALS["HTTP_RAW_POST_DATA"]; 32. 33. //extract post data 34. if (!empty($postStr)){ 35. 36. $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA); 37. $fromUsername = $postObj->FromUserName; 38. $toUsername = $postObj->ToUserName; 39. $keyword = trim($postObj->Content); 40. $time = time(); 41. $textTpl = "<xml> 42. <ToUserName><![CDATA[%s]]></ToUserName> 43. <FromUserName><![CDATA[%s]]></FromUserName> 44. <CreateTime>%s</CreateTime> 45. <MsgType><![CDATA[%s]]></MsgType> 46. <Content><![CDATA[%s]]></Content> 47. <FuncFlag>0</FuncFlag> 48. </xml>"; 49. if(!empty( $keyword )) 50. { 51. $msgType = "text"; 52. $contentStr = "Welcome to wechat world!"; 53. $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr); 54. echo $resultStr; 55. }else{ 56. echo "Input something..."; 57. } 58. 59. }else { 60. echo ""; 61. exit; 62. } 63. } 64. 65. private function checkSignature() 66. { 67. $signature = $_GET["signature"]; 68. $timestamp = $_GET["timestamp"]; 69. $nonce = $_GET["nonce"]; 70. 71. $token = TOKEN; 72. $tmpArr = array($token, $timestamp, $nonce); 73. sort($tmpArr); 74. $tmpStr = implode( $tmpArr ); 75. $tmpStr = sha1( $tmpStr ); 76. 77. if( $tmpStr == $signature ){ 78. return true; 79. }else{ 80. return false; 81. } 82. } 83. } 84. 85. ?>
这里要注意:代码中的TOKEN必须要跟下图接口信息配置中的TOKEN值要一样,不样是验证不成功的
接口信息配置:
所有配置工作都已经完成了,但是别忘了点击启用服务器配置(我开始就忘了,所有一直不成功)
一切准备就绪,就来试试吧~
验证成功啦,而且还能回复消息~
本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标移动开发之微信频道!
您输入的评论内容中包含违禁敏感词
我知道了
请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号