为什么TLS与非安全http相关?

问题描述 投票:0回答:1

我正在使用WebClient从Web资源获取数据:

var wc = new System.Net.WebClient();
var stream = wc.OpenRead("http://...");
// etc..

它曾经工作到最近,当服务器强行关闭连接时。

基于this StackOverflow answer,我添加了ServicePointManager设置:

var wc = new System.Net.WebClient();
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
var stream = wc.OpenRead("http://...");
// etc..

......它再次像以前一样工作。

我得知TLS与HTTPS有关,并且设置的效果是在握手中包含TLS1.2,并且主机站点最近必须已经更新以拒绝旧的易受攻击的协议,但为什么它是普通的,非必需的 - 安全的HTTP?

c# http https tls1.2
1个回答
1
投票

默认情况下,在WebClient实例中,AllowAutoRedirect设置为true。因此,请求会自动遵循服务器的重定向响应。

只需将AllowAutoRedirect设置为false,您就不会遵循任何重定向,因此您不必处理SSL / TLS握手。

当然,如果您的服务器不想使用HTTP提供请求,您将无法获得所需的内容。无论如何,将AllowAutoRedirect设置为false将帮助您确认您遇到的行为是由于重定向。

© www.soinside.com 2019 - 2024. All rights reserved.