为了账号安全,请及时绑定邮箱和手机立即绑定

使用 HtmlAgilityPack 的 Web 查询抛出 System.Net

使用 HtmlAgilityPack 的 Web 查询抛出 System.Net

C#
小怪兽爱吃肉 2021-11-14 10:54:31
从我读到的几个主题来看,绝大多数与贝宝有关,其他一些与称为 ServicePointManager 的东西有关。这与其他问题无关!在这种情况下,我只是尝试一个基本的 html 敏捷包示例,与 paypal 或 ServicePointManger 无关:        var url = "some_url";        var web = new HtmlWeb();      var doc = web.Load(url); 标记的行会引发此错误:Unhandled Exception: System.Net.WebException: The request was aborted: Could not create SSL/TLS secure channel.   at System.Net.HttpWebRequest.GetResponse()   at HtmlAgilityPack.HtmlWeb.Get(Uri uri, String method, String path, HtmlDocument doc, IWebProxy proxy, ICredentials creds) in C:\something\HtmlAgilityPack\HtmlAgilityPack.Shared\HtmlWeb.cs:line 1677   at HtmlAgilityPack.HtmlWeb.LoadUrl(Uri uri, String method, WebProxy proxy, NetworkCredential creds) in C:\Users\Jonathan\source\repos\HtmlAgilityPack\HtmlAgilityPack.Shared\HtmlWeb.cs:line 2086   at HtmlAgilityPack.HtmlWeb.Load(Uri uri, String method) in C:\something\HtmlAgilityPack\HtmlAgilityPack.Shared\HtmlWeb.cs:line 1300   at HtmlAgilityPack.HtmlWeb.Load(String url) in C:\something\HtmlAgilityPack\HtmlAgilityPack.Shared\HtmlWeb.cs:line 1197   at DownloadSeco.Program.Main(String[] args) in C:\something\Program.cs:line 16究竟是什么导致了这个错误,如何解决它?编辑:我正在关闭该主题,显然问题出在我的特定计算机上,因为它可以在我旁边的 PC 上运行。
查看完整描述

2 回答

?
一只萌萌小番薯

TA贡献1795条经验 获得超7个赞

据我了解,Paypal 已经更新了 TLS 版本。详细信息在这里

但是 .NET 默认不支持 TLS1.2。

您需要手动启用它。

您可以使用下一个代码来做到这一点:

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

SecurityProtocol是单身。并且您可以在您的应用程序中设置 TLS 一次(不是为每个 WebRequest)。您可以在 Program.cs 文件中设置 TLS。

另请查看此 SO主题以了解详细信息。


查看完整回答
反对 回复 2021-11-14
?
月关宝盒

TA贡献1772条经验 获得超5个赞

它对我有用,有 http 也有 https

//img1.sycdn.imooc.com//61907a900001d05b14290288.jpg


查看完整回答
反对 回复 2021-11-14
  • 2 回答
  • 0 关注
  • 168 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信