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 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料