.NET ≤4.8(.NET 4)下C#保存HTTPS网页的最简代码
.NET 4.x(≤4.8)下用WebClient处理HTTPS链接的最简代码
原WebClient无法处理部分HTTPS链接,大多是因为默认的证书校验逻辑拦截了不被信任的证书(比如自签名证书、过期证书等)。在.NET 4.x环境下,只需添加全局的证书校验回调,即可让WebClient正常处理HTTPS请求:
// 设置证书校验回调(全局生效,只需调用一次) System.Net.ServicePointManager.ServerCertificateValidationCallback += (sender, certificate, chain, sslPolicyErrors) => true; // 使用WebClient下载HTTPS页面 using (WebClient client = new WebClient()) { string webPageText = client.DownloadString("https://目标HTTPS网址"); // 按需处理页面内容 }
注意事项
- 上述代码直接返回
true会跳过所有证书校验,仅适合测试环境。生产环境中需根据实际需求校验证书合法性(比如检查颁发机构、有效期等),避免安全风险。 ServicePointManager.ServerCertificateValidationCallback是全局设置,一旦生效会影响整个应用程序的所有HTTPS请求。
内容的提问来源于stack exchange,提问作者Dan W
相关产品推荐
相关产品推荐

