千家信息网

微信开发之微信发送消息的示例分析

发表于:2025-11-08 作者:千家信息网编辑
千家信息网最后更新 2025年11月08日,这篇文章主要为大家展示了"微信开发之微信发送消息的示例分析",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"微信开发之微信发送消息的示例分析"这篇文章吧。1,
千家信息网最后更新 2025年11月08日微信开发之微信发送消息的示例分析

这篇文章主要为大家展示了"微信开发之微信发送消息的示例分析",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"微信开发之微信发送消息的示例分析"这篇文章吧。

1,首先,获取开发者测试账号(申请),会根据当前扫码提供的账号生成测试账号: 链接地址:http://mp.weixin.qq.com/wiki/home/index.html

  这时候可以获取到测试用的appid和appsecrept,然后调用获取接口调用凭证 接口获取access_token;

2,下面说信息发送,模拟了单用户信息发送和多用户消息批量发送

  (1)基础方法,http方法    

///         ///      http  get/post 公用方法        ///         /// 请求链接        /// 请求参数值(如果是get方式此处为""值,默认为 "")        /// 请求方式  post or get        ///         public static string Request(this string requestUrl, string requestMethod, string requestJsonParams = "")        {            string returnText = "";            StreamReader streamReader = null;            HttpWebRequest request = null;            HttpWebResponse response = null;            Encoding encoding = Encoding.UTF8;            request = (HttpWebRequest)WebRequest.Create(requestUrl);            request.Method = requestMethod;            if (!string.IsNullOrEmpty(requestJsonParams) && requestMethod.ToLower() == "post")            {                byte[] buffer = encoding.GetBytes(requestJsonParams);                request.ContentLength = buffer.Length;                request.GetRequestStream().Write(buffer, 0, buffer.Length);            }            try            {                response = (HttpWebResponse)request.GetResponse();                using (streamReader = new StreamReader(response.GetResponseStream(), System.Text.Encoding.GetEncoding("gb2312")))//utf-8                {                    returnText = streamReader.ReadToEnd();                }            }            catch (Exception ex)            {                returnText = ex.Message;            }            return returnText;        }

(2)模拟发送:  

///         ///     发送微信信息(单用户发送)        ///         /// 授权码(微信token)        /// 发送信息模型        ///         public static string SendSingleMessage(WeChatParamEntity messageInfo, string access_token)        {            messageInfo.MsgType = string.IsNullOrEmpty(messageInfo.MsgType) ? "text" : messageInfo.MsgType;            string jsonDataParams = messageInfo == null ? "" : JsonConvert.SerializeObject(new            {                touser = messageInfo.ToUser,                msgtype = messageInfo.MsgType,                text = new { content = messageInfo.Text }            });            string requestUrl = string.Format(Consts.URL_POSTSINGLETEXTMESSAGE, access_token);            return requestUrl.Request("POST", jsonDataParams);        }        ///         ///     发送微信信息(多用户批量发送)        ///         /// 授权码(微信token)        /// 发送信息模型        ///         public static string SendMessages(WeChatParamsEntity messageInfo, string access_token)        {            messageInfo.MsgType = string.IsNullOrEmpty(messageInfo.MsgType) ? "text" : messageInfo.MsgType;            string jsonDataParams = messageInfo == null ? "" : JsonConvert.SerializeObject(new            {                touser = messageInfo.ToUser,                msgtype = messageInfo.MsgType,                text = new { content = messageInfo.Text }            });            string requestUrl = string.Format(Consts.URL_POSTTEXTMESSAGES, access_token);            return requestUrl.Request("POST", jsonDataParams);        }

  (3)两个参数 模型: 

///     ///     微信 发送信息 参数实体模型    ///     public class WeChatParamEntity    {        ///         ///     普通用户openid        ///         public string ToUser { get; set; }        ///         ///     传输的文件类型(text,image, and so on)        ///         public string MsgType { get; set; } = "text";        ///         ///     传输文本内容        ///         public string Text { get; set; }    }    ///     ///     微信 发送信息 参数实体模型    ///     public class WeChatParamsEntity    {        ///         ///     普通用户openid        ///         public string[] ToUser { get; set; }        ///         ///     传输的文件类型(text,image, and so on)        ///         public string MsgType { get; set; } = "text";        ///         ///     传输文本内容        ///         public string Text { get; set; }    }

  (4)web.config中的链接

                                

3,测试使用涉及到 touser的这个参数,这个是需要发送的对象的 openID,这个很简单,在开发者文档(也就是上面的步骤二中,)获取

appid 和appsecrept的时候,当前这个页面下面有一个二维码,找几个人用微信扫扫就可以自动获取openID ,这时候将参数带入脚本模拟

post即可

  另外需要注意:文档中提示的 json 参数格式

  注意三:token有效时间为7200,俩小时,需要判断当前发送信息用户的token有效性,同时每天最大可请求次数为2000.

获取token :

#region 获取token,并验证token过期时间        public static string GetAccessToken(string appid, string appSecret)        {            string token = "";            string requestUrl = string.Format(ConfigBLL.URL_GETACCESSTOKEN, appid, appSecret);            string requestResult = WebAPITransfer.Request(requestUrl, "GET", "");            CommonBLL.DebugLog(requestResult, "AccessToken-token-Params");            string[] strArray = requestResult.Split(',');            token = strArray[0].Split(':')[1].Replace("\"", "");            return token;        }        #endregion

以上是"微信开发之微信发送消息的示例分析"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

信息 参数 开发 内容 模型 用户 消息 传输 测试 示例 分析 方法 篇文章 账号 链接 普通 有效 实体 开发者 接口 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 宣城手机软件开发需要多少钱 管理服务器存在哪些风险 社会如何确保网络安全 小企业网站服务器 成都网络安全培训班哪家好 网络安全知识资料论文 js删除数据库数据 数据库技术基础 视频 东软网络安全培训基地 笔记本很多游戏无法连接服务器 orcle数据库中如何输出 计算机网络技术对口升学考哪些 数据库系统常采用几级模式结构 电脑网络安全培训展板 access数据库目录 c循环取文件夹中数据库 扬州市网络安全考试 服务器和大数据云计算有什么区别 阿里云服务器中转挖矿教程 静安区创新数据库服务商前景 金山区购买网络技术开发材料 网络安全内容资料名言警句 海贼王360服务器在哪里 网络技术员需要什么优势因素 红米拨号显示服务器错误什么意思 保存文件的数据库软件 潮州慕乐网络技术有限公司 apc密室软件开发 二道区网络技术服务售后服务 国家安全法信息网络安全论文
0