yaniu 2022-10-25 15:16
浏览 32
已结题

某网站HttpWebRequest始终超时

运行环境:
vs2019 .net4.5
请求一个网站,浏览器可以访问,可是我用HttpWebRequest取构造一样的参数,始终是超时,附件是测试代码,请各位帮我看看

 class Program
    {
        static void Main(string[] args)
        {
            ServicePointManager.DefaultConnectionLimit = 200;
            ServicePointManager.ServerCertificateValidationCallback += (sender, certifice, chain, sslerror) => {
                return true;
            };
            ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12;
            HttpGet("https://www.arrow.com");
        }

        static void HttpGet(string url)
        {
            string html;
            HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest;

            
            request.ProtocolVersion = HttpVersion.Version11;
            request.Method = "GET";
            request.Timeout = 40 * 1000;
            request.UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36";
            request.Host = "www.arrow.com";
            request.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9";
            request.Headers.Add("accept-encoding", "gzip, deflate, br");
            request.Headers.Add("accept-language", "zh-CN,zh;q=0.9");
            //request.Headers.Add(":authority", "www.arrow.com");
            //request.Headers.Add(":method", "GET");
            //request.Headers.Add(":path", "/");
            //request.Headers.Add(":scheme", "https");
            request.Headers.Add("cache-control", "no-cache");
            request.Headers.Add("pragma", "no-cache");
            request.Headers.Add("sec-ch-ua", "\"Chromium\";v=\"106\", \"Google Chrome\";v=\"106\", \"Not;A=Brand\";v=\"99\"");
            request.Headers.Add("sec-ch-ua-mobile", "?0");
            request.Headers.Add("sec-ch-ua-platform", "\"Windows\"");
            request.Headers.Add("upgrade-insecure-requests", "1");
            request.Headers.Add("sec-fetch-site", "none");
            request.Headers.Add("sec-fetch-mode", "navigate");
            request.Headers.Add("sec-fetch-user", "?1");
            request.Headers.Add("sec-fetch-dest", "document");
            try
            {

                using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
                {
                    var statusCode = response.StatusCode;
                    html = response.StatusDescription;
                    using (StreamReader sr = new StreamReader(response.GetResponseStream()))
                    {
                        html = sr.ReadToEnd();
                        Console.WriteLine(html);
                    }

                }
            }
            catch (WebException hex)
            {
                Console.WriteLine(hex.Message);
            }
            catch (Exception ex)
            {

                Console.WriteLine(ex.Message);
            }
        }
    }

  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 已结题 (查看结题原因) 10月25日
    • 创建了问题 10月25日

    悬赏问题

    • ¥15 R语言Rstudio突然无法启动
    • ¥15 关于#matlab#的问题:提取2个图像的变量作为另外一个图像像元的移动量,计算新的位置创建新的图像并提取第二个图像的变量到新的图像
    • ¥15 改算法,照着压缩包里边,参考其他代码封装的格式 写到main函数里
    • ¥15 用windows做服务的同志有吗
    • ¥60 求一个简单的网页(标签-安全|关键词-上传)
    • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法
    • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
    • ¥100 为什么这个恒流源电路不能恒流?
    • ¥15 有偿求跨组件数据流路径图
    • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值