执行此代码时出现异常,我尝试连接的网址是https(SSL)
有人知道为什么我会收到此错误?因为我可以在chrome中正常浏览该网址
仅供参考:我正在本地调试...
HtmlDocument doc = new HtmlWeb().Load(url);
无法建立SSL连接,请参阅内部异常。无法从传输连接中读取数据:建立的连接已被主机中的软件中止。 ---> System.Net.Http.HttpRequestException:无法建立SSL连接,请参阅内部异常。 ---> System.IO.IOException:无法从传输连接中读取数据:建立的连接已被主机中的软件中止。 ---> System.Net.Sockets.SocketException:建立的连接被主机中的软件中止了
答案 0 :(得分:0)
“ HtmlWeb”不支持从“ https”加载,而仅支持“ http”。您可以参考以下两个链接:link1和link2。
如果要从https加载文档,可以使用HttpWebRequest作为解决方法。这是post供您参考。
以上解决方法(HttpWebRequest)可能仅在.net Framework 4.6.1中有效,因此我在此处发布了另一种解决方法。我们也可以使用“ HttpClient”,请参考以下代码:
using System;
using System.Net.Http;
namespace ConsoleApp5
{
class Program
{
static void Main(string[] args)
{
string url = "https://google.com";
using (HttpClient client = new HttpClient())
{
using (HttpResponseMessage response = client.GetAsync(url).Result)
{
using (HttpContent content = response.Content)
{
string result = content.ReadAsStringAsync().Result;
Console.WriteLine(result);
}
}
}
}
}
}
希望对您的问题有帮助〜