gpt4 book ai didi

c# - 通过 C# 和 HttpWebRequest 抓取安全网站时出现 SSL/TLS 错误

转载 作者:太空宇宙 更新时间:2023-11-03 15:08:52 25 4
gpt4 key购买 nike

我正在尝试编写 C# 代码以从安全网站(即 https://www.exampe.com)抓取 html 代码。

我正在使用 Visual Studio 2017 和 .Net Framework 4.5.2。

这是我的代码:

HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);

using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
using (Stream stream = response.GetResponseStream())
using (StreamReader reader = new StreamReader(stream))
{
string html = reader.ReadToEnd();
}

运行上述代码时,第 2 行 GetResponse() 出现以下错误:

The request was aborted: Could not create SSL/TLS secure channel

当我使用常规 HTTP URL 时,上面的代码可以正常工作。它仅在 HTTPS 上中断。

附言:

  1. 这个网站是外部网站,意思是在我们的网络之外,当我通过任何浏览器查看它时都可以正常工作。我假设它拥有所有必要的合法有效证书。

  2. 顺便说一句,当我在家中未连接到公司网络的单独计算机上运行我的代码时,它运行良好。

请帮忙!

最佳答案

这可能是 TLS 1.2 问题。您必须告诉 C# 使用 TLS 1.2:

System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;

在您的请求之前添加此代码。

关于c# - 通过 C# 和 HttpWebRequest 抓取安全网站时出现 SSL/TLS 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57998389/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com