【发布时间】:2018-08-07 05:54:34
【问题描述】:
我有此代码可以将 Http Get 请求发送到 https URL,但我收到此错误:
无法从传输连接读取数据:现有连接被远程主机强行关闭。
var webRequest = (HttpWebRequest)WebRequest.Create(url);
webRequest.Timeout = timeout;//timeout 100 sec by default
using (var httpWebResponse = (HttpWebResponse)webRequest.GetResponse())
using (var stream = httpWebResponse.GetResponseStream())
using (var streamReader = new StreamReader(stream))
{
var response = streamReader.ReadToEnd();
return response;
}
该 URL 在浏览器和邮递员中运行良好。
【问题讨论】:
-
哪一行出现此错误?
-
@RakeshBurbure 使用 (var httpWebResponse = (HttpWebResponse)webRequest.GetResponse())
-
尝试设置
webRequest.KeepAlive=False和WebRequest.ProtocolVersion = HttpVersion.Version10和WebRequest.ServicePoint.ConnectionLimit = 1 -
在上面添加这一行来创建网络请求并尝试
System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12;