Как в данной обработке формируется multipart/form-data и как делаете синтаксический разбор, если сервер вернул application/x-www-form-urlencoded или multipart/form-data?
(2) unpete, 1. На каждый параметр создаётся файл с заголовком и данными, потом они склеиваются.
2. Обрабатывается только image, application/json, text/html (по вкладкам). Остальное только в текстовом поле выводится.
Штука хорошая, скачал, пользовался.
Что пришлось допилить:
-- отображение КодаСостояния в группе Результат на форме, иначе его нигде не видно, а информация эта нужна (4ХХ -- неправильный запрос, 5ХХ -- проблемы на сервере, 3ХХ -- перенаправление, 200 -- Ок и т.д.).
-- восстановление Таймауте при нажатии "Открыть запрос". Сейчас таймаут сохраняется в файл, но не восстанавливается из него.
-- добавление галочки "Аутентифкация ОС", которая уходит в соответствующий параметр конструктора Новый HTTPСоединение. Плюс интерфейсная обработка этой новой возможности (вывод на форму, сохранение в файл, восстановление из файла).
-- возможность установить тело запроса без BOM. В обработке тело устанавливается не через строку, а через временный файл (непонятно зачем?), т.е. всегда с BOM-ом. Если бы тело устанавливалось через строку, этого бы не было.
(11) Ну бывает, что служба безопасности страдает очень сильной паранойей.
Мне вот не разрешили XMLNotepad поставить, заставили пользоваться плагином к notepad++ для форматирования XML-текстов.
Автору конечно и респект, но думаю можно спустить цену уже и до 1 стартмани.,
так как при попытке воспроизвести пример из его видео , и просмотреть картинку форд
https://million-wallpapers.ru/wallpapers/5/46/542825632969217/ford-fary.jpg обработка определяет не как картинку а как текст и вываливается с ошибкой, так как
КлючИЗначение.Ключ = "Content-Type" содержит Значение которое
не начинается с "image" , а содержит уже вот такую строчку
"text/html;charset=utf-8, image/jpeg"
и код
Если КлючИЗначение.Ключ = "Content-Type" Тогда
ЭтоКартинка = СтрНачинаетсяС(КлючИЗначение.Значение, "image");
ЭтоHTML = СтрНачинаетсяС(КлючИЗначение.Значение, "text/html");
ЭтоJSON = СтрНачинаетсяС(КлючИЗначение.Значение, "application/json");
КонецЕсли;
нужно корректировать самим....
Всем удачи.
При отправке запроса через Ваш конструкотор возвращается не ответ 200 а Bad request.
Надо поставить кодировку КодировкаТекста.ANSI при записи текста запроса.
то есть строку
ЗаписьТекста = Новый ЗаписьТекста(ИмяВходногоФайла);
надо заменить на строку
ЗаписьТекста = Новый ЗаписьТекста(ИмяВходногоФайла, КодировкаТекста.ANSI);
Вот пример:
ИмяВходногоФайла = ПолучитьИмяВременногоФайла(".json");
ЗаписьТекста = Новый ЗаписьТекста(ИмяВходногоФайла, КодировкаТекста.ANSI);
Текст = "{""variant"":{""weight"":0.07}}";
ЗаписьТекста.ЗаписатьСтроку(Текст);
ЗаписьТекста.Закрыть();
Сервер = "a53123123123122f27:b4986c1aйцу21321312ef7ce1385ee04@sitename.ru";
Ресурс = "admin/products/33234474/variants/18234393.json";
SSL = Новый ЗащищенноеСоединениеOpenSSL;
HTTPConnect = Новый HTTPСоединение(Сервер,,,,,5,SSL);
HTTPЗапрос = Новый HTTPЗапрос(Ресурс);
HTTPЗапрос.Заголовки.Вставить("Content-Type", "application/json; charset=utf-8");
HTTPЗапрос.УстановитьИмяФайлаТела(ИмяВходногоФайла);
ОтветСервера = HTTPConnect.Записать(HTTPЗапрос);
HTTPConnect = Неопределено;
HTTPЗапрос = Неопределено;
НачатьУдалениеФайлов(,ИмяВходногоФайла);
Сообщить(ОтветСервера.КодСостояния);