我正在尝试从虚拟机上运行的localhost项目发出Web请求。问题是我无法创建Webrequest,我将收到以下错误:
“ 请求已中止:无法创建SSL / TLS安全通道”。
当我尝试使用Postman(也是从我的虚拟机)在我的Web请求中访问相同的API时,它确实起作用:
这不起作用:
网络请求代码:
try
{
ServicePointManager.Expect100Continue = true;
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls
| SecurityProtocolType.Tls11
| SecurityProtocolType.Tls12
| SecurityProtocolType.Ssl3;
HttpClient client = new HttpClient();
HttpResponseMessage response = await client.GetAsync("http://pokeapi.co/api/v2/pokemon/ditto/");
response.EnsureSuccessStatusCode();
string responseBody = await response.Content.ReadAsStringAsync();
return JsonConvert.DeserializeObject(responseBody);
}
catch (Exception ex)
{
throw ex;
}
响应:
这有效:
我已经尝试过的内容:
我已经在搜索此错误以及所有解决方案的位置添加以下代码行:
ServicePointManager.Expect100Continue = true;
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls
| SecurityProtocolType.Tls11
| SecurityProtocolType.Tls12
| SecurityProtocolType.Ssl3;
希望有人可以提供帮助,
提前谢谢!
答案 0 :(得分:0)
终于解决了!
由于我尝试调用的API是https,而我自己的应用程序是http,因此导致了错误!