关闭

获取微信用户发来的链接

标签: xml微信升级
67人阅读 评论(0) 收藏 举报
分类:

实现功能:在微信中,用户可以将”我的收藏”中的内容以链接的形式发送给公众帐号, 微信将链接封装成XML数据包POST给公众号服务器,公众号服务器解析XML数据包, 若是一条链接, 则向用户发送链接的信息;若不是链接,则发送”我只接收链接!”的文本消息.具体代码如下:

<?php
/*
 * 获取微信用户发来的链接
 */
header("Content-Type: text/html; charset=utf-8");   //设置字符编码为utf-8

$wechatObj = new wechat_php();
$wechatObj->GetUrlMsg();

class wechat_php {
    public function GetUrlMsg() {
        //获取服务器POST请求的数据
        $postStr = file_get_contents("php://input");

        if (!empty($postStr)) {
            $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA); //解析XML

            $fromUsername = $postObj->FromUserName; //微信用户名
            $toUsername = $postObj->ToUserName; //开发者微信号
            $msgType = $postObj->MsgType;   //消息的类型
            $title = trim($postObj->Title); //消息标题
            $description = trim($postObj->Description); //消息描述
            $url = trim($postObj->Url); //消息链接
            $msgId = $postObj->MsgId; //消息id
            $time = time(); //时间

            //回复消息的XML格式
            $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 (strtolower($msgType) != "link") {   //如果消息不是超链接
                $msgType = "text";
                $contentStr = "我只接收链接!";
            }
            else {
                $msgType = "text";
                $contentStr = "Title:".$title."\n";
                $contentStr = $contentStr."Description:".$description."\n";
                $contentStr = $contentStr."Url:".$url;
            }
            $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);
            echo $resultStr;
        }
        else {
            echo "";
            exit;
        }
    }

}
0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

微信公众号分享内容自定义,点击链接可获点击用户的openid

今日在开发微信公众平台,需要用到分享功能。 本来,如果公众号申请的东西都ok了之后,微信打开微信公众号之后是可以实现分享的,但是这个分享其实是微信默认的分享,它只分享网页上的title(title)...
  • u014165193
  • u014165193
  • 2016-04-25 17:09
  • 9929

微信公众号开发系列-网页授权获取用户基本信息

微信公众号开发系列-网页授权获取用户基本信息,如果用户在微信中(Web微信除外)访问公众号的第三方网页,公众号开发者可以通过此接口获取当前用户基本信息(包括昵称、性别、城市、国家)。利用用户信息,可以...
  • fuyifang
  • fuyifang
  • 2014-11-05 19:38
  • 49776

微信公众号开发--获取网页授权并自定义菜单点击获得openid跳转

之前做了个自定义菜单的click事件,但是订阅号升级为服务号,相应的有了网页的基础授权(需要认证的服务号) 于是我就做了这个
  • qq_28666081
  • qq_28666081
  • 2016-03-29 14:03
  • 21524

Qrcode生成二维码链接地址,网页授权获取微信用户信息

(1)一个简单的二维码地址生成使用easywechat扫描获取微信用户的信息:首先生成二维码链接这里引用的QrCode生成的QrCode::size(300)->generate($url]); ur...
  • qq_34827048
  • qq_34827048
  • 2017-04-19 10:36
  • 3262

微信短链接秒进支付宝拆红包的逆向分析与代码获取(不用写任何代码)

最近支付宝红包风靡全国,真的是谁的群多并且发的比其他人早就能很赚一笔,目前想要拿到红包有以下两种途径 复制别人的邀请码,打开支付宝 用支付宝扫描别人的红包二维码 有人感觉很麻烦于是就做了在微信...
  • qqHJQS
  • qqHJQS
  • 5天前 23:41
  • 2936

获取微信公众号一键关注链接

今天给大家分享一个小技巧,获取微信公众号一键关注链接,在微信项目中可以通过跳转直接到达关注公众号页面,省去扫码的麻烦 如下就是微信公众号一键关注链接页面: . 这个页面和我们一般看到的公众号关注页面...
  • jxzrf
  • jxzrf
  • 2016-12-20 16:01
  • 795

PC版微信2.3可查看链接地址

  • 6天前 13:45
  • 36.21MB
  • 下载

微信2.3可查看链接地址

  • 2017-03-31 08:46
  • 36.21MB
  • 下载

如丝般顺滑的微信朋友圈(点赞,评论,图文混排表情,点击文字链接等)

  • 2016-05-26 02:03
  • 9.86MB
  • 下载

链接分享(qq好友、qq空间、微信、新浪微博)

  • 2016-12-02 10:26
  • 185KB
  • 下载
    个人资料
    • 访问:822次
    • 积分:112
    • 等级:
    • 排名:千里之外
    • 原创:10篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章存档