|
Загрузка цен гос. реестра с сайта grls.rosminzdrav.ru | ☑ | ||
---|---|---|---|---|
0
John83
15.10.21
✎
12:28
|
Жили не тужили, но с пару недель назад перестала работать загрузка цен.
Кто пользуется этим сервисом? Там поменялось чего? |
|||
1
John83
15.10.21
✎
12:29
|
код загрузки
Соединение = Новый HTTPСоединение("grls.rosminzdrav.ru"); ТекЗапрос = Новый HTTPЗапрос("pricelims.aspx"); Попытка ТекОтвет = Соединение.ОтправитьДляОбработки(ТекЗапрос); ТекСтрока = ТекОтвет.ПолучитьТелоКакСтроку(); Исключение ЗаписьЖурналаРегистрации("Сообщение", УровеньЖурналаРегистрации.Ошибка,,, ПодробноеПредставлениеОшибки(ИнформацияОбОшибке())); КонецПопытки; ТекИмяФайлаПриемника = ПолучитьИмяВременногоФайла("html"); ТекТекстовыйФайл = Новый ТекстовыйДокумент; ТекТекстовыйФайл.УстановитьТекст(ТекСтрока); ТекТекстовыйФайл.Записать(ТекИмяФайлаПриемника, КодировкаТекста.ANSI); ТекЧтениеХТМЛ = Новый ЧтениеHTML; ТекЧтениеХТМЛ.ОткрытьФайл(ТекИмяФайлаПриемника); ТекПостроительDOM = Новый ПостроительDOM; ТекДокументHTML = ТекПостроительDOM.Прочитать(ТекЧтениеХТМЛ); ТекЭлемент = ТекДокументHTML.ПолучитьЭлементПоИдентификатору("ctl00_plate_tdzip"); ТекЧтениеХТМЛ.Закрыть(); ТекИмяФайлаИсточника = "http://grls.rosminzdrav.ru/" + ТекЭлемент.ПервыйДочерний.Гиперссылка; ТекИмяФайлаПриемника = ПолучитьИмяВременногоФайла("zip"); |
|||
2
Garykom
гуру
15.10.21
✎
12:30
|
(0) сервис неустойчиво работает
пробуйте несколько раз и в разное время |
|||
3
John83
15.10.21
✎
12:36
|
(2) посмотрел по журналу, даже не две недели, а месяц как не работает
за это время должно было хоть разок загрузиться-то |
|||
4
Kassern
15.10.21
✎
12:37
|
(3) ошибка то какая?
|
|||
5
John83
15.10.21
✎
12:39
|
(4) Значение не является значением объектного типа (ПервыйДочерний)
Вот тут Попытка ТекОтвет = Соединение.ОтправитьДляОбработки(ТекЗапрос); ТекСтрока = ТекОтвет.ПолучитьТелоКакСтроку(); ТекСтрока уже пустая |
|||
6
Garykom
гуру
15.10.21
✎
12:41
|
(5) а это уже как нибудь сами
что там внутри структуры портала поменялось наймите например программиста чтобы допилил |
|||
7
Гость из Мариуполя
гуру
15.10.21
✎
13:23
|
(3) >> месяц как не работает
аккурат 17.09.2021 на твоем сайте установили новый сертификат безопасности и адрес в браузере почему то перебрасывает http:// на https:// ? |
|||
8
John83
19.10.21
✎
09:52
|
(7) и что с этим сертификатом делать? откуда брать? Куда пихать?
Если в коде указать https, то ничего не меняется. |
|||
9
Kassern
19.10.21
✎
09:55
|
(8) бядааа... Новый ЗащищенноеСоединение() тебе в помощь при подключении
|
|||
10
Гость из Мариуполя
гуру
19.10.21
✎
12:17
|
(8) винда какая? Win7? и небось без всех последних (крайних) обновлений?
если да, то та же самая фигня, что и в ветке фнс временно недоступен решение то же самое - обновить в винде доверенные корневые центры сертификации только не как там неумеха делает - не файлик pem куда то там подсовывать, а именно - "обновить в системе доверенные корневые центры сертификации"! |
|||
11
Kassern
19.10.21
✎
12:18
|
(10) у него же вся проблема тут Соединение = Новый HTTPСоединение("grls.rosminzdrav.ru");
Так это не работает с https смотрите (9) |
|||
12
Гость из Мариуполя
гуру
19.10.21
✎
12:22
|
(11) совет в (9) естественно, я ни капельки и не возражаю, это подразумевается. Одно другому не мешает.
но если у него старая винда WIN7, то к этому еще и (10). если нет, то имхо достаточно только совет (9) |
|||
13
John83
19.10.21
✎
17:12
|
дело чуть продвинулось, вот так помогло
Соединение = Новый HTTPСоединение("grls.rosminzdrav.ru",,,,,, Новый ЗащищенноеСоединениеOpenSSL); |
|||
14
John83
19.10.21
✎
17:13
|
следующая проблема в том, что тут почему-то файл не хочет качаться
ТекИмяФайлаИсточника = "https://grls.rosminzdrav.ru/" + ТекЭлемент.ПервыйДочерний.Гиперссылка; ТекИмяФайлаПриемника = ПолучитьИмяВременногоФайла("zip"); КопироватьФайл(ТекИмяФайлаИсточника, ТекИмяФайлаПриемника); адрес получается https://grls.rosminzdrav.ru/GetLimPrice.ashx?FileGUID=9d0d1e64-504f-4747-b78c-c80b7be3858b&UserReq=4633806 При этом в браузере предлагает сохранить файл, а в 1с ругается "ошибка доступа к файлу" |
|||
15
John83
19.10.21
✎
17:15
|
если быть точнее
{ВнешняяОбработка.ВнешняяОбработка1.Форма.Форма.Форма(38)}: Ошибка при вызове метода контекста (КопироватьФайл) КопироватьФайл(ТекИмяФайлаИсточника, ТекИмяФайлаПриемника); по причине: Ошибка копирования файлов по причине: Ошибка доступа к файлу 'https://grls.rosminzdrav.ru/GetLimPrice.ashx?FileGUID=9d0d1e64-504f-4747-b78c-c80b7be3858b&UserReq=5458659' по причине: Ошибка работы с Интернет: Удаленный узел не прошел проверку |
|||
16
Kassern
19.10.21
✎
17:18
|
(14) а все потому что КопироватьФайл(ТекИмяФайлаИсточника, ТекИмяФайлаПриемника); работает только для HTTP!
для защищенного соединения вы должны подключиться с помощью ssl, а далее через Соединение.ВызватьМетод(...) получить ответом файл. |
|||
17
Гость из Мариуполя
гуру
19.10.21
✎
17:41
|
(15) >> Ошибка работы с Интернет: Удаленный узел не прошел проверку
хм.. а можешь показать, что у тебя в IE по такому вот адресу показывается. https://grls.rosminzdrav.ru/help.aspx Именно в IE. https://a.radikal.ru/a11/2110/25/eec78b148ffc.png |
|||
18
John83
19.10.21
✎
17:47
|
(17) да тоже самое и показывает
|
|||
19
John83
19.10.21
✎
17:48
|
(16) вот так вроде получилось
Соединение.Получить(ТекЭлемент.ПервыйДочерний.Гиперссылка, ТекИмяФайлаПриемника); спасибо!!! |
|||
20
John83
19.10.21
✎
17:48
|
и всем принявшим участие тоже большое спасибо :)
|
|||
21
Kassern
19.10.21
✎
17:50
|
(19) Получить() это аналог ВызватьМетод("GET",), а ОтправитьДляОбработки() - аналог ВызватьМетод("POST",)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |