|
|
|
Как получить код web страницы ? Garykom, Dzenn, Гипервизор, obs191, Pasha_Nik, Умный Слоненок, mikecool, Lama12, Hmster, yurikmellon2, Bad_Aleks, Wildman666, unenu, Федя Тяпкин, paramedic, Волшебник, vbus, sikuda, Kigo_Kigo, Prog_man, СеньорПрограммист, RVN, 2S, программистище, Amfiaray, Greeen, banco, Kobol, privetik, Fish, sergey198, RomanYS, Fragster, Crusher, DeeK, ads55, trad, breezee, formista2000, takefive, DiMel_77, Джордж1, Доминошник, denk32, AAA, Vstur, 2mugik, dmt, Vovik, p-soft, Мультук, PLUT, KJlag, fbear, phabeZ, Kuzmich123, Chai Nic, okmail, CepeLLlka, lEvGl, Tatitutu, Ильф, avkynev, Winnie Buh, maxab72, Alexor
| ☑ | ||
|---|---|---|---|---|
|
0
Pasha_Nik
11.11.25
✎
09:13
|
Здравствуйте. мне нужно получить код веб страницы в 1С УПП пишу такой код
ВебСтраница = "https://app.fgislk.gov.ru/pudpd/api/pudpd/public/qr/html?d=NJM%2F3eDJG6Lcv%2BIrMoDf...... СоединениеHTTP = Новый HTTPСоединение(ВебСтраница, 443,,,,, Новый ЗащищенноеСоединениеOpenSSL()); ЗапросHTTP = Новый HTTPЗапрос("/"); Ответ = СоединениеHTTP.Получить(ЗапросHTTP); Если Ответ.КодСостояния = 200 Тогда Сообщить(Ответ.ПолучитьТелоКакСтроку()); Иначе Сообщить("Код ответа: " + Ответ.КодСостояния); КонецЕсли; При выполнении кода выдает ошибку Ошибка при вызове метода контекста (Получить) {ВнешняяОбработка.ПарсингВебСтраницы.Форма.Форма.Форма(25)}: Ответ = СоединениеHTTP.Получить(ЗапросHTTP); по причине: Ошибка работы с Интернет: Couldn't resolve host name Как правильно написать, чтобы получить код страницы ? |
|||
|
1
Волшебник
11.11.25
✎
09:15
|
Пропишите DNS сервер Яндекса 77.88.8.8
|
|||
|
2
Pasha_Nik
11.11.25
✎
09:32
|
Пришлите код где прописать DNS сервер Яндекса 77.88.8.8 ?
|
|||
|
3
Волшебник
11.11.25
✎
09:34
|
(2) В настройках интернета
|
|||
|
4
Pasha_Nik
11.11.25
✎
09:42
|
А как сетевые настройки влияют ?
Я же через браузер захожу на ВебСтраница = "https://app.fgislk.gov.ru/pudpd/api/pudpd/public/qr/html?d=NJM%2F3eDJG6Lcv%2BIrMoDf...... нормально ? |
|||
|
5
Волшебник
11.11.25
✎
09:44
|
Наверное обращение идёт с сервера, а там другие настройки
|
|||
|
6
Pasha_Nik
11.11.25
✎
10:01
|
Прописал код так
ВебСтраница2 = "app.fgislk.gov.ru/pudpd/api/pudpd/public/qr/html?d=NJM%2F3eDJG6Lcv%2BIrMoDf...... СоединениеHTTP = Новый HTTPСоединение(ВебСтраница2); ЗапросHTTP = Новый HTTPЗапрос("/"); Ответ = СоединениеHTTP.Получить(ЗапросHTTP); Если Ответ.КодСостояния = 200 Тогда Сообщить(Ответ.ПолучитьТелоКакСтроку()); Иначе Сообщить("Код ответа: " + Ответ.КодСостояния); КонецЕсли; При запуске выдает Код ответа: 308 Код ответа: 400 Код ответа: 500 то 308 то 400 то 500 ? |
|||
|
7
Garykom
гуру
11.11.25
✎
10:06
|
- Где у меня ошибка?
- В ДНК! |
|||
|
8
Garykom
гуру
11.11.25
✎
10:08
|
(0) Почитай в СП про HTTPСоединение и HTTPЗапрос, их параметры
Найди рабочие примеры, пойми сам где ступил |
|||
|
9
Pasha_Nik
11.11.25
✎
10:25
|
когда обращаюсь к сайту 1c.alexcode.ru код
СоединениеHTTP = Новый HTTPСоединение("1c.alexcode.ru", 443,,,,, Новый ЗащищенноеСоединениеOpenSSL()); ЗапросHTTP = Новый HTTPЗапрос("/"); Ответ = СоединениеHTTP.Получить(ЗапросHTTP); Если Ответ.КодСостояния = 200 Тогда Сообщить(Ответ.ПолучитьТелоКакСтроку()); Иначе Сообщить("Код ответа: " + Ответ.КодСостояния); КонецЕсли; получаю код веб страницы 1c.alexcode.ru когда обращаюсь на ВебСтраница2 = "app.fgislk.gov.ru/pudpd/api/pudpd/public/qr/html?d=NJM%2F3eDJG6Lcv%2BIrMoDf.. пишу СоединениеHTTP = Новый HTTPСоединение(ВебСтраница2, 443,,,,, Новый ЗащищенноеСоединениеOpenSSL()); выдает Код ответа: 500 |
|||
|
10
Garykom
гуру
11.11.25
✎
10:28
|
(9) И сам не видишь?
Новый HTTPСоединение("app.fgislk.gov.ru", ...)
Новый HTTPЗапрос("/pudpd/api/pudpd/public/qr/html?d=..."); |
|||
|
11
Garykom
гуру
11.11.25
✎
10:30
|
Только еще надо редиректы учесть
И код страницы может динамически формироваться JS Придется использовать ПолеHTML (да только на клиенте, причем с веб-клиентом проблемы) Дожидаться загрузки и только затем получать код страницы |
|||
|
12
Pasha_Nik
11.11.25
✎
10:36
|
До этого прописывал не получалось, ща прописал
СоединениеHTTP = Новый HTTPСоединение("app.fgislk.gov.ru", 443,,,,, Новый ЗащищенноеСоединениеOpenSSL()); Новый HTTPЗапрос("/pudpd/api/pudpd/public/qr/html?d=..."); получилась код страницы выдало |
|||
|
13
Garykom
гуру
11.11.25
✎
10:49
|
Передача параметров (?d=..&x=..) надо кодировать каждый через
ПараметрD_URL = КодироватьСтроку(ПараметрD, СпособКодированияСтроки.КодировкаURL);
ПараметрX_URL = КодироватьСтроку(ПараметрX, СпособКодированияСтроки.КодировкаURL);
АдресРесурса = СтрШаблон("/pudpd/api/pudpd/public/qr/html?d=%1&x=%2", ПараметрD_URL, ПараметрX_URL);
Новый HTTPЗапрос(АдресРесурса);
вот эта хрень "NJM%2F3eDJG6Lcv%2BIrMoDf......" с "%2F" уже в закодированном виде исходный параметр там с пробелами и даже кириллица вероятно в url только латиница и некоторые символы разрешены |
|||
|
14
Pasha_Nik
11.11.25
✎
10:50
|
Подскажите как в Чтение = Новый ЧтениеXML; передать результат
считанной веб страницы ? |
|||
|
15
Garykom
гуру
11.11.25
✎
10:51
|
(14) Хочу огорчить но HTML <> XML
|
|||
|
16
Pasha_Nik
11.11.25
✎
11:01
|
А через ЧтениеHTML = Новый ЧтениеHTML; передать результат
считанной веб страницы ? |
|||
|
17
paramedic
11.11.25
✎
11:08
|
(16) ОткрытьПоток
ОткрытьФайл УстановитьСтроку Что больше нравится. |
|||
|
18
Pasha_Nik
11.11.25
✎
11:16
|
Напишите пример как сделать через поток ?
|
|||
|
19
Dzenn
гуру
11.11.25
✎
12:21
|
Судя по адресу страницы, это не обычная страница HTML в интернете, а отображение API какого-то приложения. Соответственно, корректным способом решения задачи является именно обращение к предоставляемому разработчиком API. Если же, по каким-то причинам, это невозможно, и ты партизанишь, то специально для партизан там вход, вероятно, закрыт на уровне CORS или что-то подобного.
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |