у меня ошибка с веб-скребком и html-пакетом гибкости в c # - PullRequest
0 голосов
/ 27 октября 2018
 private void button1_Click(object sender, EventArgs e)
    {
        var html = @"https://html-agility-pack.net/from-web";
        HtmlWeb web = new HtmlWeb();
        var htmldoc = web.Load(html);
        var nod = htmldoc.DocumentNode.SelectSingleNode("//head/title");
        textBox1.Text = "Node Name: " + nod.Name + "\n" + nod.OuterHtml;
    }

сначала я хочу научиться веб-кракингу с помощью пакета гибкости c # и html, но при запуске моего первого кода появится следующее сообщение:

{Необработанное исключение типа 'System.Net.WebException 'произошло в HtmlAgilityPack.dll

Дополнительная информация: Основное соединение было закрыто: при отправке произошла непредвиденная ошибка.}

1 Ответ

0 голосов
/ 27 октября 2018

Базовое соединение было закрыто: при отправке произошла непредвиденная ошибка

Эта проблема возникает, когда клиентский компьютер не может отправить запрос HTTP, так как соединение было закрыто илинедоступен.

Поскольку вы пытаетесь получить доступ к странице HTTPS, вам может потребоваться установить протокол безопасности перед созданием запроса.

ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls;
var html = @"https://html-agility-pack.net/from-web";
HtmlWeb web = new HtmlWeb();

Это предпочтет TLS 1.2, но все равно разрешит 1.1 и 1.0 (чтобы предотвратить сбой, потому что некоторые сайты не предлагают TLS 1.2).

...