无法修复“无法创建SSL / TLS安全通道”,使webrequest

时间:2019-05-22 12:58:13

标签: c# api security ssl httpwebrequest

我正在尝试从虚拟机上运行的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;
            }

响应:

enter image description here

这有效:

enter image description here

我已经尝试过的内容:

我已经在搜索此错误以及所有解决方案的位置添加以下代码行:

 ServicePointManager.Expect100Continue = true;
                ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls
                       | SecurityProtocolType.Tls11
                       | SecurityProtocolType.Tls12
                       | SecurityProtocolType.Ssl3;

希望有人可以提供帮助,

提前谢谢!

1 个答案:

答案 0 :(得分:0)

终于解决了!

由于我尝试调用的API是https,而我自己的应用程序是http,因此导致了错误!