gpt4 book ai didi

c# - 底层连接已关闭 : An unexpected error occurred

转载 作者:行者123 更新时间:2023-11-30 14:25:41 24 4
gpt4 key购买 nike

我有一个非常简单的服务,它调用一个 URL 并捕获该服务写出的状态;

// Service call used to determine availability
System.Net.WebClient client = new System.Net.WebClient();

// I need this one (sorry, cannot disclose the actual URL)
Console.WriteLine(client.DownloadString(myServiceURL + ";ping"));

// I added this for test purposes
Console.WriteLine(client.DownloadString("https://www.google.com"));

myServiceURL 行的“DownloadString”抛出错误“基础连接已关闭:发生意外错误”,Fiddler 中没有显示此行的任何内容,而 google.com 的“DownloadString”有效,我看到了控制台输出。

按照针对错误的其他建议,我尝试了设置 UseDefaultCredentials、编码选项、向请求添加适当的 header 的组合,这些都没有任何区别。

client.UseDefaultCredentials = true;
client.Encoding = Encoding.UTF8;

当我在浏览器中导航到 myServiceURL 时,它正常工作并按预期显示“OK”。

同一服务的另一个方法编码如下:

// Request
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(myServiceURL + ";login");

// Set the request configuration options
req.Method = "POST";
req.ContentType = "text/xml";
req.ContentLength = bytes.Length;
req.Timeout = -1;

// Call for the request stream
using (Stream os = req.GetRequestStream())
{
os.Write(bytes, 0, bytes.Length);
}

// ....snip

// This line fails with the same error as before
WebResponse resp = req.GetResponse()

这一切都在使用 .NET Framework 4.0 的 Windows 7(64 位)PC 上运行; myServiceURL 上的服务是我无法控制的第 3 方服务。

最佳答案

终于弄清了这个问题的真相,虽然答案可能并不适用于所有遇到同样问题的人;我认为线索在于我们可以从某些 HTTPS 站点提取信息,但不是所有站点,并通过 Fiddler、WireShark 和我们的防火墙的组合来跟踪事件。

在 Google Chrome 中打开网站并单击网站 URL 地址中的“https”挂锁,以查看“安全概述”,我们看到对于我们尝试过的大多数网站,都列出了“有效”条目证书”和“安全资源”,但这个网站也有一个“安全 TLS 连接”条目,并且 WireShark 确认握手(来自 Chrome)使用的是 TLS v1.2

TLS v1.2 似乎仅受 .NET Framework 4.5(或更高版本)支持,因此需要 Visual Studio 2012(或更高版本)

我们目前正在运行 .NET Framework 4.0 和 Visual Studio 2010

下载 Visual Studio 2015 Community Edition 以使用 .NET Framework 4.5.2 测试项目中的“相同”代码,它立即运行。

关于c# - 底层连接已关闭 : An unexpected error occurred,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37588854/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com