带有代理的 C# 连接超时

时间:2021-02-13 16:46:51

标签: c# proxy timeout httpwebrequest

我正在使用代理从特定 url 获取响应代码。

但是使用“request.Timeout”或“request.ReadWriteTimeout”命令对我不起作用。 如果代理无法连接到网站,而不是像我的超时所说的那样在 5 秒后取消,它总是最多加载 20 秒。

                HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
                WebProxy myproxy = new WebProxy(proxy, false);
                request.Proxy = myproxy;
                request.Method = "GET";
                request.Timeout = 5000;
                request.ReadWriteTimeout = 6000;

                try
                {
                    using (HttpWebResponse httpWebResponse = (HttpWebResponse)request.GetResponse())
                    {
                        using (Stream responseStream = httpWebResponse.GetResponseStream())
                        {
                            using (StreamReader streamReader = new StreamReader(responseStream))
                            {
                                textBox1.Text = streamReader.ReadToEnd();
                                textBox1.Text = "finish";
                                return;
                            }
                        }
                    }
                }
                catch (Exception)
                {
                    textBox1.Text = "can't reach - proxy failed";
                }

0 个答案:

没有答案