powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Пропал парсинг web страницы
25 сообщений из 30, страница 1 из 2
Пропал парсинг web страницы
    #39682634
Bujhm_C
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот это всегда работало:

Код: vbnet
1.
2.
3.
4.
5.
 Dim strAdress As String = "https://prozorro.gov.ua/tender/search?edrpou=20915546"
        Dim web As New WebClient
        web.Encoding = System.Text.Encoding.UTF8
        Dim strQlltext As String = web.DownloadString(strAdress)
        RichTextBox1.Text = strQlltext



А вот сегодня следующий фокус, вернее ошибка "Базовое соединение закрыто: Непредвиденная ошибка при передаче."
Как лечить?
...
Рейтинг: 0 / 0
Пропал парсинг web страницы
    #39682642
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bujhm_C,

проверить дату и время на компьютере, попробовать отключить проверку сертификата
Код: c#
1.
ServicePointManager.ServerCertificateValidationCallback += (sender, cert, chain, sslPolicyErrors) => true;
...
Рейтинг: 0 / 0
Пропал парсинг web страницы
    #39682649
Bujhm_C
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Roman MejtesBujhm_C,

проверить дату и время на компьютере, попробовать отключить проверку сертификата
Код: c#
1.
ServicePointManager.ServerCertificateValidationCallback += (sender, cert, chain, sslPolicyErrors) => true;



Время проверил. Сертификат отключил! Не помогло. Что за фокус?
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
 Try
            Dim strAdress As String = "https://prozorro.gov.ua/tender/search?edrpou=20915546"
            Dim web As New WebClient
            web.Encoding = System.Text.Encoding.UTF8
            Dim strQlltext As String = web.DownloadString(strAdress)
        
             System.Net.ServicePointManager.ServerCertificateValidationCallback = _
            Function(se As Object, _
            cert As System.Security.Cryptography.X509Certificates.X509Certificate, _
            chain As System.Security.Cryptography.X509Certificates.X509Chain, _
            sslerror As System.Net.Security.SslPolicyErrors) True
            RichTextBox1.Text = strQlltext
        
            ' GBA(strQlltext, "<li class=""marked"">", "</li>", ListBox1)
        Catch ex As Exception
            MsgBox(ex.ToString)

        End Try
...
Рейтинг: 0 / 0
Пропал парсинг web страницы
    #39682652
Фотография LR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bujhm_C,

а в браузере запрос выполняется? ("я не робот" не появляется?)

https://prozorro.gov.ua/robots.txt User-agent: *
Disallow: /*?*
Disallow: /form/
Disallow: /search/
Запрос формально попадает под запрет (Disallow: /*?*). Т.е., они не хотят чтобы эти станицы парсили, как минимум они об этом заявили... Чаще всего, конечно, такие декларации остаются лишь декларациями, но всяко бывает...
...
Рейтинг: 0 / 0
Пропал парсинг web страницы
    #39682664
Bujhm_C
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
LRBujhm_C,

а в браузере запрос выполняется? ("я не робот" не появляется?)

https://prozorro.gov.ua/robots.txt User-agent: *
Disallow: /*?*
Disallow: /form/
Disallow: /search/
Запрос формально попадает под запрет (Disallow: /*?*). Т.е., они не хотят чтобы эти станицы парсили, как минимум они об этом заявили... Чаще всего, конечно, такие декларации остаются лишь декларациями, но всяко бывает...

В браузере выполняется на ура. Затык в чем то другом!
...
Рейтинг: 0 / 0
Пропал парсинг web страницы
    #39682679
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LRЗапрос формально попадает под запрет (Disallow: /*?*). Т.е., они не хотят чтобы эти станицы парсили, как минимум они об этом заявили...
неправда, просто рекомендацмя не индексировать
...
Рейтинг: 0 / 0
Пропал парсинг web страницы
    #39682681
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bujhm_CВ браузере выполняется на ура. Затык в чем то другом!
заголовки в запросе отдай такие, как у броузера
...
Рейтинг: 0 / 0
Пропал парсинг web страницы
    #39682686
Фотография LR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bujhm_CВ браузере выполняется на ура. Затык в чем то другом!
Ну так браузер же не робот (в отличие от WebClient). С другого айпишника затыка же нет (у меня WebClient выполняет на ура). Поэтому антибота исключать рано...

Попробуйте еще так
Код: c#
1.
2.
3.
4.
5.
6.
using (WebClient wc = new WebClient()) {
     //wc.Headers.Add("User-Agent", "DotNET WebClient");
     //htmlsrc = wc.DownloadString(pageuri);
     var rawdata = wc.DownloadData(pageuri);
     htmlsrc = Encoding.UTF8.GetString(rawdata);
}
...
Рейтинг: 0 / 0
Пропал парсинг web страницы
    #39682688
Bujhm_C
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ИзопропилBujhm_CВ браузере выполняется на ура. Затык в чем то другом!
заголовки в запросе отдай такие, как у броузера



" https://prozorro.gov.ua/tender/search?edrpou=20915546" -это выполняется в браузере, а это не идет, ошибка

Код: vbnet
1.
   Dim strQlltext As String = web.DownloadString("https://prozorro.gov.ua/tender/search?edrpou=20915546")
...
Рейтинг: 0 / 0
Пропал парсинг web страницы
    #39682701
Фотография LR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИзопропилLRЗапрос формально попадает под запрет (Disallow: /*?*). Т.е., они не хотят чтобы эти станицы парсили, как минимум они об этом заявили...
неправда, просто рекомендацмя не индексировать
Да, robots.txt изначально - рекомендации для поисковиков. Но, как я понял, в последнее время используется и как "антибот-декларация". К тому же, все чаще встречаются мнения типа "вместо того чтобы "запрещать" индексацию проще сделать так, чтобы робот просто не смог до нее добраться".
...
Рейтинг: 0 / 0
Пропал парсинг web страницы
    #39682704
Bujhm_C
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
LRBujhm_CВ браузере выполняется на ура. Затык в чем то другом!
Ну так браузер же не робот (в отличие от WebClient). С другого айпишника затыка же нет (у меня WebClient выполняет на ура). Поэтому антибота исключать рано...

Попробуйте еще так
Код: c#
1.
2.
3.
4.
5.
6.
using (WebClient wc = new WebClient()) {
     //wc.Headers.Add("User-Agent", "DotNET WebClient");
     //htmlsrc = wc.DownloadString(pageuri);
     var rawdata = wc.DownloadData(pageuri);
     htmlsrc = Encoding.UTF8.GetString(rawdata);
}



То же не идет, что никак не обойти? Я боле года выполнял процедуру, никогда сбоев не было. А что сегодня за катаклизм?
...
Рейтинг: 0 / 0
Пропал парсинг web страницы
    #39682713
Фотография LR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bujhm_C,

тогда, как Изопропил сказал - нажимаете в браузере F12 и добавляете WebClient аналогичные заголовки запроса

wc.Headers.Add("User-Agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:61.0) Gecko/20100101 Firefox/61.0");
...и т.д.
...
Рейтинг: 0 / 0
Пропал парсинг web страницы
    #39682736
Фотография LR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изопропил,

https://en.wikipedia.org/wiki/Internet_bot Servers may choose to outline rules on the behaviour of internet bots by implementing a robots.txt file: this file is simply text stating the rules governing a bot's behaviour on that server. Any bot interacting with (or 'spidering') any server that does not follow these rules should, in theory, be denied access to, or removed from, the affected website.
https://en.wikipedia.org/wiki/Web_scraping Bots sometimes declare who they are (using user agent strings) and can be blocked on that basis using robots.txt; 'googlebot' is an example. Other bots make no distinction between themselves and a human using a browser.
...
Websites can declare if crawling is allowed or not in the robots.txt file and allow partial access, limit the crawl rate, specify the optimal time to crawl and more.
...
Рейтинг: 0 / 0
Пропал парсинг web страницы
    #39682740
Фотография LR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bujhm_C,

чтобы откинуть версию с антиботом, попробуйте незапрещенную страничку
var str = wc.DownloadString(" https://prozorro.gov.ua/");

хотя, если айпишник попал в черный список, могут рубить и на корню...
...
Рейтинг: 0 / 0
Пропал парсинг web страницы
    #39682742
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
просто tls нужной версии ему нужен

добавить
Код: c#
1.
System.Net.ServicePointManager.SecurityProtocol =  System.Net.SecurityProtocolType.Tls12;
...
Рейтинг: 0 / 0
Пропал парсинг web страницы
    #39682745
Фотография LR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изопропил,

Да, похоже это оно. С Tls11 тоже проходит, а вот с Tls получается такая же ошибка.
...
Рейтинг: 0 / 0
Пропал парсинг web страницы
    #39682777
Bujhm_C
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
LRBujhm_C,

чтобы откинуть версию с антиботом, попробуйте незапрещенную страничку
var str = wc.DownloadString(" https://prozorro.gov.ua/");
хотя, если айпишник попал в черный список, могут рубить и на корню...

1. попробовал не запрещенную страничку
var str = wc.DownloadString(" https://prozorro.gov.ua/"); - то же неудача!
2."айпишник попал в черный список"- и что, без вариантов?
3. System.Net.SecurityProtocolType.Tls12;- не проходит, только System.Net.SecurityProtocolType.Tls
...
Рейтинг: 0 / 0
Пропал парсинг web страницы
    #39682786
Фотография LR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bujhm_C3. System.Net.SecurityProtocolType.Tls12;- не проходит, только System.Net.SecurityProtocolType.Tls
Ну вот в этом, вероятней всего, и причина. Нужен хотя бы System.Net.SecurityProtocolType.Tls11.
А что значит "не проходит"? Ошибка при присваивании?
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12;
(т.е. ServicePointManager.SecurityProtocol==SecurityProtocolType.Tls, и изменить это нельзя?)
...
Рейтинг: 0 / 0
Пропал парсинг web страницы
    #39682796
Фотография LR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bujhm_C,

Погуглил, похоже .NET 4.0 не поддерживает Tls11/Tls12, одно решение видел - переводить проект на .NET 4.5... Есть ли другие решения, х.з.
...
Рейтинг: 0 / 0
Пропал парсинг web страницы
    #39682797
Bujhm_C
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
LRBujhm_C3. System.Net.SecurityProtocolType.Tls12;- не проходит, только System.Net.SecurityProtocolType.Tls
Ну вот в этом, вероятней всего, и причина. Нужен хотя бы System.Net.SecurityProtocolType.Tls11.
А что значит "не проходит"? Ошибка при присваивании?
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12;
(т.е. ServicePointManager.SecurityProtocol==SecurityProtocolType.Tls, и изменить это нельзя?)

Не присваивается! После точки только SecurityProtocolType.Tls или Ssl3!
...
Рейтинг: 0 / 0
Пропал парсинг web страницы
    #39682798
Фотография LR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bujhm_C Не присваивается! После точки только SecurityProtocolType.Tls или Ssl3!
Ну, значит это .NET 4.0. Есть возможность перевести проект на .NET 4.5?
...
Рейтинг: 0 / 0
Пропал парсинг web страницы
    #39682804
Bujhm_C
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
LR,

Сейчас скачаю, попробую, какова вероятность, что поможет?
...
Рейтинг: 0 / 0
Пропал парсинг web страницы
    #39682805
Фотография LR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bujhm_C,

пусть будет 95%)) но лучше спросить у Изопропила, мож есть более простое решение...
...
Рейтинг: 0 / 0
Пропал парсинг web страницы
    #39682822
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LRмож есть более простое решение...
стартовать curl в отдельном процессе :]


хотя это вряд ли будет проще - только при невозможности обновить фреймворк
...
Рейтинг: 0 / 0
Пропал парсинг web страницы
    #39682825
Bujhm_C
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помогло
Код: vbnet
1.
System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12

!!!
Но есть одно но... Проект собран на 10 Студии а там Framework 4. Пришлось опробовать на VS 2015 с Framework 4.5.
Вот, если бы рыбку съесть.. на Framework 4?
...
Рейтинг: 0 / 0
25 сообщений из 30, страница 1 из 2
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Пропал парсинг web страницы
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]