MRsang206 2015-01-13 07:44 采纳率: 0%
浏览 3821

c#腾讯企业邮箱二次开发实现新邮件提醒

新邮件提醒,需要维持长连接,图片是API文档关于长连接的描述,图片说明

但是我获取到token,传入参数ver=0,返回错误,无效的请求,有做过这个功能的吗,求助啊!!

  private bool GetPostData(string url, string pars, ref string json)
        {
            System.GC.Collect();     //url=请求的地址,pars= "var=0"

            string ret = "";

            string postUrl = url;
            string paramData =pars;
            Encoding dataEncode = Encoding.UTF8;

            string token = this.GetToken();

            HttpWebRequest webReq = (HttpWebRequest)WebRequest.Create(new Uri(postUrl));

            try
            {
                byte[] byteArray = dataEncode.GetBytes(paramData); //转化

                //webReq.Timeout = 2 * 60 * 1000;
                webReq.KeepAlive = true;
                webReq.Host = "openapi.exmail.qq.com";
                webReq.ProtocolVersion = HttpVersion.Version11;
                webReq.Method = "POST";
                webReq.ContentType = "application/x-www-form-urlencoded";
                webReq.Headers.Add("Authorization", "Bearer " + token);

                webReq.ContentLength = byteArray.Length;

                using (Stream newStream = webReq.GetRequestStream())
                {
                    newStream.Write(byteArray, 0, byteArray.Length);//写入参数
                    newStream.Close();
                }

                using (HttpWebResponse response = (HttpWebResponse)webReq.GetResponse())
                {
                    using (StreamReader sr = new StreamReader(response.GetResponseStream(), Encoding.UTF8))
                    {
                        ret = sr.ReadToEnd();
                    }
                }


            }
            catch (Exception ex)
            {
                if (webReq != null)
                {
                    webReq.Abort();
                }
                //Log.Info("GetPostData:" + ex.Message + "," + url + "," + pars);
                json = ret;
                return false;
            }

            if (webReq != null)
            {
                webReq.Abort();
            }

            json = ret;
            return true;
        }

  • 写回答

3条回答

  • mtswz1988 2015-09-08 06:41
    关注

    用写到链接里面的方法就可以成功了

    评论

报告相同问题?

悬赏问题

  • ¥15 基于卷积神经网络的声纹识别
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 stm32开发clion时遇到的编译问题