Это продолжение статьи Мои опыты чтения динамических WEB-страниц.
К сожалению, с помощью описанных в ней средств мне не удалось добиться решения поставленной задачи - надежного чтения любых динамических WEB-страниц, и я продолжил поиск ее решения с использованием средств чтения данных из интернета, имеющихся в известных мне внешних компонентах (ВК).
Таких ВК у меня нашлось 3:
- Parser.dll,
- Addin.dll
- и V7Plus.dll.
Для проведения опытов сделал небольшую обработку ТестВК.ert (см. скриншот). Предлагаю вам скачать ее и повторить мои опыты. Возможно, вы знаете другие dll и варианты, найдете ошибки в кодах или в выводах и положениях статьи. Сообщите мне о них, я буду очень благодарен.
Чтобы ТестВК.ert без проблем заработала, положите ее и все dll из архива (в том числе и unrar.dll, без нее ADDIN.dll не работает) в папку какой-нибудь конфигурации, откройте эту конфигурацию и запустите ТестВК.ert. Als-файлы можете не копировать, на ваше усмотрение. (Обратите внимание на функцию Таймер. Благодаря коллеге YtrewQwerty она значительно усовершенствована и теперь измеряет временные интервалы с точностью до миллисекунды).
Обработка позволяет выбрать 7 вариантов тестирования методов ВК:
- 1 метод Parser.dll,
- 1 метод Addin.dll,
- 3 метода V7Plus.dll (её метод Получить имеет 3 модификации в зависимости от типа приемника)
- и 2 дополнительных метода V7Plus.dll.
В каждом из вариантов можно прочитать до 4 страниц сайтов (1 статическая и 3 динамических), выбрав их адреса из списка.
- http://www.smeta-tl.narod.ru/about.html //Статическая страница моего старого сайта
- http://www.vezetmne.ru/auctions/80968658
- http://www.vezetmne.ru/rating?top100
- http://www.almazsoft.ru/index.php?option=com_remository&Itemid=34&func=select&id=5
Результат чтения помещается в папку конфигурации в файл с именем вида resBN.htm, где B - вариант, а N - номер адреса в списке.
- Статическая страница быстро и качественно читается всеми ВК во всех вариантах: страница не урезается, кириллица не искажается. Только в варианте 2. Nidan.ПолучитьПоНТТР(ФайлРезультата, Адрес) время чтения почему-то раз в 10 больше, чем в прочих шести.
- Динамические страницы 2 и 4 читаются качественно только ВК Parser.dll и ADDIN.dll в вариантах 1 и 2. ВК V7Plus.dll в вариантах 3 - 7 при чтении урезает страницы до размера от 330 до 970 байт, кириллица не искажается.
- Динамическая страница 3. http://www.vezetmne.ru/rating?top100 не читается качественно ни одной из ВК ни в одном из вариантов: читается быстро, но страница урезается до 330 байт.
Получается, что ВК V7Plus.dll совсем не пригодна для чтения динамических страниц сайтов, а ВК Parser.dll и ADDIN.dll могут читать не все динамические страницы.
Таким образом, надежного чтения любых динамических WEB-страниц из 1С мне не удалось добиться и с помощью ВК.
Но ведь как-то же они браузерами читаются?
Я прикладной программист, занимаюсь разработкой приложений с использованием встроенных инструментов 1С, и все эти опыты делаю только потому, что есть задача, а инструментов для ее решения в 1С нет. В системных вопросах разбираюсь слабо. Поэтому обращаюсь с просьбой к разбирающимся: помогите, пожалуйста, в решении этой задачи.