Имя: Пароль:
1C
 
Не получается скачать pdf
0 John83
 
25.06.25
02:31
На сайте
https://roszdravnadzor.gov.ru/services/turnover
вводятся сведения о лекарственном средстве, выводится список найденных.
Задача состоит в том, чтобы скачать этот список в pdf. На странице имеется соответствующая кнопка.
Смотрел в бразузере параметры запроса, заголовки. Сделал под 1С, но скачивается только страница html поиска, упакованная в архив.
Что не так делаю?

    ИмяФайла = "Выписка.zip";
    ПолныйПутьФайла = КаталогДокументов() + ИмяФайла;
    Сообщить(ПолныйПутьФайла);
    
    ТелоЗапроса = Новый Структура;
    ТелоЗапроса.Вставить("q_label", "244857651");
    ТелоЗапроса.Вставить("dt_from", "01.01.2025");
    ТелоЗапроса.Вставить("dt_to", "");
    ТелоЗапроса.Вставить("q_type_ls", "");
    ТелоЗапроса.Вставить("q_org", "");
    ТелоЗапроса.Вставить("q_dt_ru_from", "");
    ТелоЗапроса.Вставить("q_dt_ru_to", "");
    ТелоЗапроса.Вставить("q_no_ru", "");
    ТелоЗапроса.Вставить("q_tn", "");
    ТелоЗапроса.Вставить("q_mnn", "");
    ТелоЗапроса.Вставить("q_series", "");
    ТелоЗапроса.Вставить("q_producer", "");
    ТелоЗапроса.Вставить("q_country", "");
    ТелоЗапроса.Вставить("pdf", "1");

    Параметры = "";
    Для Каждого ннн1 Из ТелоЗапроса Цикл
        Если Параметры <> "" Тогда
            Параметры = Параметры + "&";
        КонецЕсли;
        Параметры = Параметры + ннн1.Ключ + "=" + СокрЛП(ннн1.Значение);
    КонецЦикла;
    
    Сообщить(Параметры);
    ЗащищенноеСоединениеOpenSSL = Новый ЗащищенноеСоединениеOpenSSL;
    Соединение = Новый HTTPСоединение("roszdravnadzor.gov.ru", ,,,, 30, ЗащищенноеСоединениеOpenSSL);
    
    ЗаголовокHTTP = Новый Соответствие();
    ЗаголовокHTTP.Вставить("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
    ЗаголовокHTTP.Вставить("Accept-Encoding", "gzip, deflate, br, zstd");
    ЗаголовокHTTP.Вставить("Accept-Language", "ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3");
    ЗаголовокHTTP.Вставить("Cache-Control", "max-age=0");
    ЗаголовокHTTP.Вставить("Connection", "keep-alive");
    ЗаголовокHTTP.Вставить("Content-Type", "application/x-www-form-urlencoded");
    ЗаголовокHTTP.Вставить("Cookie", "uid=3115758488007864343; cookie_agreement=true");
    ЗаголовокHTTP.Вставить("DNT", "1");
    ЗаголовокHTTP.Вставить("Host", "roszdravnadzor.gov.ru");
    ЗаголовокHTTP.Вставить("Origin", "https://roszdravnadzor.gov.ru");
    ЗаголовокHTTP.Вставить("Priority", "u=0, i");    
    ЗаголовокHTTP.Вставить("Referer", "https://roszdravnadzor.gov.ru/");
    ЗаголовокHTTP.Вставить("Sec-Fetch-Dest", "document");
    ЗаголовокHTTP.Вставить("Sec-Fetch-Mode", "navigate");
    ЗаголовокHTTP.Вставить("Sec-Fetch-Site", "same-origin");
    ЗаголовокHTTP.Вставить("Sec-Fetch-User", "?1");
    ЗаголовокHTTP.Вставить("Upgrade-Insecure-Requests", "1");
    ЗаголовокHTTP.Вставить("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:139.0) Gecko/20100101 Firefox/139.0");
    
    Запрос = Новый HTTPЗапрос("/services/turnover", ЗаголовокHTTP);
    
    Запрос.УстановитьТелоИзСтроки(Параметры, "UTF-8");

    Ответ = Соединение.ОтправитьДляОбработки(Запрос, ПолныйПутьФайла);
1 John83
 
25.06.25
02:33
вот тут смотрю параметры
2 Ёпрст
 
гуру
25.06.25
09:07
(0) так ты передаешь файл, а не получаешь. Может того, get сделаешь, а не post ? Да и на картинке твоей, не видать, чтоб ты чего то там получил при передачи поста
3 John83
 
25.06.25
09:22
(2) под get подразумевается вместо ОтправитьДляОбработки сделать Получить?
Этот запрос появляется после того, как нажимаю "получить пдф". Надо по-другому?
2 + 2 = 3.9999999999999999999999999999999...