用本地的服务器做微信公众号的开发。

发布于 2022-09-04 06:12:42 字数 2040 浏览 14 评论 0

我用的是phpci框架,本地服务器是Apache。

<?php
class Wechatwo extends CI_Controller {

    public function __construct()
    {
        parent::__construct();
        
        $this->load->helper('url_helper');
    }
    public function wechat_val(){
         $timestamp = $_GET['timestamp'];
         $nonce     = $_GET['nonce'];
         $token     = 'weixin';
         $signature = $_GET['signature'];
         $echostr   = $_GET['echostr'];
         $array     = array($timestamp,$nonce,$token);
         sort($array);
         $tmpstr = implode('', $array);
         $tmpstr =sha1($tmpstr);
         if($tmpstr==$signature && $echostr){
            echo $echostr;
            exit;
         }else{
            $this->reponseMsg();
         } 
    }

    public function reponseMsg(){
        //获取到微信推送过来的post数据 xml格式
        $postArr = $GLOBALS['HTTP_RAW_POST_DATA'];
        
        $postObj = simplexml_load_file($postArr);
        //判断该数据包是否是订阅的时间推送
        if(strtolower($postObj->MsgType)=='event'){
            if(strtolower($postObj->Event=='subscribe')){
                //回复
                $toUser = $postObj->FromUserName;
                $fromUser = $postObj->ToUserName;
                $time = time();
                $MsgType = 'text';
                $Content = '欢迎关注我们的微信号';
                $template ="<xml>
                            <ToUserName><![CDATA[%s]]></ToUserName>
                            <FromUserName><![CDATA[%s]]></FromUserName>
                            <CreateTime>%s</CreateTime>
                            <MsgType><![CDATA[%s]]></MsgType>
                            <Event><![CDATA[%s]]></Event>
                            </xml>";
                $info = sprintf($template,$toUser,$fromUser,$time,$MsgType,$Content);
                echo $info;
            }
        }


    }
    
 }   

上面的代码,关注微信号公众号没有消息提示发到用户那里。这是什么问题呢。如果报错哪里可以看呢?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

自在安然 2022-09-11 06:12:42

发的时候注意格式...稍微看下markdown的语法。

```
代码
```

本地服务器的话,微信服务器怎么访问到你的服务器,需要公网ip(如果不是连的路由器,可以查到自己的公网ip但是每次连接ip都可能会变,如果有域名的话,设置域名解析到你的ip)?另外公众号怎么设置的?

当然也可以使用花生壳,带内网穿透,可以申请免费域名,dns到你的机器。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文