HwasinLtw 2017-01-20 15:22 采纳率: 0%
浏览 1993

C# http get https://wx.qq.com 总是关闭连接的奇怪问题

最近在做一些微信相关的东西,使用C#遇到了一个非常诡异的问题。
请教大神。共同探讨一下原因。

先贴代码



static void Main(string[] args)
        {   
            while (true)
            {
                HttpGet();
            }

            Console.Read();
        }


        public static string HttpGet()
        {
            string html = string.Empty;

            HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://wx.qq.com");

            try
            {
                using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
                {
                    using (Stream stream = response.GetResponseStream())
                    {
                        using (StreamReader reader = new StreamReader(stream))
                        {
                            html = reader.ReadToEnd();

                            reader.Close();
                        }
                        stream.Flush();
                        stream.Close();
                    }
                    response.Close();
                }

            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.StackTrace);
            }
            finally
            {
                request.Abort();
                request = null;
                GC.Collect();
                Thread.Sleep(15000);
            }
            return html;
        }

关键的问题就是,连续两次https的keep-alive访问wx.qq.com,如果第二次请求之前sleep15秒钟,那第二次请求一定会报基础连接被关闭的异常。

然后如果打开httpanalyzer或者fidder抓包工具,那就没有这个问题。

stackoverflow有人说fidder相当于一个代理,会有一套自己的http连接池的管理办法。

不知道c#能不能实现类似的功能,或者是我修改某些参数就能解决这个异常。

其实就是实际做了点微信相关的东西,遇到了一些问题,有时候两次发到wx.qq.com的请求中间出现网络问题,间隔一会之后,后面的所有请求都会报错,非常诡异,求大神帮忙解答这个问题,感激不尽

  • 写回答

2条回答 默认 最新

  • threenewbee 2017-01-20 15:46
    关注

    可能服务器有spam检测,强行关掉了你的连接

    评论

报告相同问题?

悬赏问题

  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog