.NET 往微信公众号 发送消息

public string gettocken()

        {

          string url = @"https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=xxx&corpsecret=rxxY";

            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);

            request.Method = "GET";

            //request.ContentType = "application/x-www-form-urlencoded";

            //request.ContentType = "application/json"; 

            request.ReadWriteTimeout = 30 * 1000;

            HttpWebResponse response = (HttpWebResponse)request.GetResponse();


            StreamReader myStreamReader = new StreamReader(response.GetResponseStream(), Encoding.UTF8);

            var retString = myStreamReader.ReadToEnd();

          // MessageBox.Show(retString);

            JObject jo = JObject.Parse(retString);

            string ss=jo["access_token"].ToString();

            myStreamReader.Close();

            return ss;

        }

        public void Post(string mes)

        {

            StringWriter sw = new StringWriter();

            JsonWriter jwriter = new JsonTextWriter(sw);

            jwriter.WriteStartObject();

            jwriter.WritePropertyName("touser");

            jwriter.WriteValue("user1|user2");

            jwriter.WritePropertyName("toparty");

            jwriter.WriteValue("");

            jwriter.WritePropertyName("totag");

            jwriter.WriteValue("");

            jwriter.WritePropertyName("msgtype");

            jwriter.WriteValue("text");

            jwriter.WritePropertyName("agentid");

            jwriter.WriteValue("1000004");

            jwriter.WriteRaw(",\"text\":{\"content\":\""+mes+"\"}");

            jwriter.WriteEndObject();

            jwriter.Flush();

            string postDataStr = sw.GetStringBuilder().ToString();


          //  ConverttoISO88591(postDataStr);

          // MessageBox.Show(postDataStr);

            ///获取token

            string accesstoken = gettocken();

            ///发送模版消息

            string url = string.Format("https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token={0}", accesstoken);

            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);

            request.Method = "POST";

          // request.ContentType = "application/json";

              request.ContentType = "application/x-www-form-urlencoded";

            request.ContentLength = postDataStr.Length;


            StreamWriter writer = new StreamWriter(request.GetRequestStream(),Encoding.ASCII);

            writer.Write(postDataStr);

            writer.Flush();

            HttpWebResponse response = (HttpWebResponse)request.GetResponse();

            string encoding = response.ContentEncoding;

            if (encoding == null || encoding.Length < 1)

            {

                encoding = "UTF-8"; //默认编码 

            }

            StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding(encoding));

            string retString = reader.ReadToEnd();

        //    MessageBox.Show(retString);


        }

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,224评论 19 139
  • 最近公司在做微信开发,其实就是接口开发,网上找了很多资料,当然园友也写了很多教程,但都是理论说了一大堆,实用指导或...
    Sky云ERP阅读 4,918评论 0 1
  • 该文仅对于中间这种支付方式有参考价值哟 一、开发背景 在微信公众号中,需要进行微信支付且为微信公众号网页支付。 二...
    英文名叫夏天阅读 5,903评论 0 7
  • 阴极之至,阳气始生,日南至,日短之至,日影长之至,故曰“冬至”。 在这一天,身为南方没吃汤圆的宝宝,发几张冬至前后...
    曦E阅读 4,520评论 0 0
  • 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。Prototype原型模式是一种创建型设计模式,P...
    Jackey_Zhou阅读 1,486评论 0 0

友情链接更多精彩内容