Конструктор-тестер http запросов в 1С

0. 392 17.08.16 19:06 Сейчас в теме
Данная обработка позволяет в несколько кликов конструировать http запросы на языке 1С и просматривать результаты их выполнения.

Перейти к публикации

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. YPermitin 12546 20.08.16 22:00 Сейчас в теме
Круто! Пригодиться. Однозначно +
cleaner_it; +1 Ответить
2. unpete 573 21.08.16 10:37 Сейчас в теме
Как в данной обработке формируется multipart/form-data и как делаете синтаксический разбор, если сервер вернул application/x-www-form-urlencoded или multipart/form-data?
4. hlopik 392 23.08.16 12:44 Сейчас в теме
(2) unpete, 1. На каждый параметр создаётся файл с заголовком и данными, потом они склеиваются.
2. Обрабатывается только image, application/json, text/html (по вкладкам). Остальное только в текстовом поле выводится.
3. mixperm 64 23.08.16 06:22 Сейчас в теме
В тело запроса можно добавлять картинку в виде двоичных данных?
5. hlopik 392 23.08.16 13:07 Сейчас в теме
6. dr2c 43 24.08.16 09:18 Сейчас в теме
7. webester 25 27.08.16 07:12 Сейчас в теме
(6)У меня воспроизводится
8. 1с_Phil 30.09.16 14:04 Сейчас в теме
А если требуется авторизация, есть возможность указать логин и пароль?
9. hlopik 392 30.09.16 17:19 Сейчас в теме
10. Alias 170 19.10.16 17:35 Сейчас в теме
Штука хорошая, скачал, пользовался.
Что пришлось допилить:

-- отображение КодаСостояния в группе Результат на форме, иначе его нигде не видно, а информация эта нужна (4ХХ -- неправильный запрос, 5ХХ -- проблемы на сервере, 3ХХ -- перенаправление, 200 -- Ок и т.д.).
-- восстановление Таймауте при нажатии "Открыть запрос". Сейчас таймаут сохраняется в файл, но не восстанавливается из него.
-- добавление галочки "Аутентифкация ОС", которая уходит в соответствующий параметр конструктора Новый HTTPСоединение. Плюс интерфейсная обработка этой новой возможности (вывод на форму, сохранение в файл, восстановление из файла).
-- возможность установить тело запроса без BOM. В обработке тело устанавливается не через строку, а через временный файл (непонятно зачем?), т.е. всегда с BOM-ом. Если бы тело устанавливалось через строку, этого бы не было.
cleaner_it; rpgshnik; BigB; +3 Ответить
11. Evil Beaver 7435 06.10.17 17:12 Сейчас в теме
Что только не сделают, чтобы postman не ставить
18. nicxxx 241 27.11.20 13:22 Сейчас в теме
(11) Ну бывает, что служба безопасности страдает очень сильной паранойей.
Мне вот не разрешили XMLNotepad поставить, заставили пользоваться плагином к notepad++ для форматирования XML-текстов.
12. sknarid 06.12.17 12:43 Сейчас в теме
Уважаемый Евгений. А вот это чудо на неуправляемом приложении можно? Очень нужно!
13. rpgshnik 2984 12.02.18 04:28 Сейчас в теме
Скачал, попробовал. Вкладка HTML - не отображает страницу.
14. elian 130 24.07.18 15:33 Сейчас в теме
Гениальная обработка. Автору респект!
15. handscenter 55 29.01.19 20:53 Сейчас в теме
Автору респект, очень полезное решение!
16. 1cv9 25.04.19 11:29 Сейчас в теме
Автору конечно и респект, но думаю можно спустить цену уже и до 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");
КонецЕсли;
нужно корректировать самим....
Всем удачи.
inkko; Vida; +2 Ответить
17. aaguselnikova 17 06.02.20 05:46 Сейчас в теме
Интересный пример работы с запросами и http.
19. Agkorepanov 15.06.21 10:35 Сейчас в теме
При отправке запроса через Ваш конструкотор возвращается не ответ 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Запрос  = Неопределено;
 НачатьУдалениеФайлов(,ИмяВходногоФайла);
 Сообщить(ОтветСервера.КодСостояния);
Показать
Оставьте свое сообщение
Вакансии
Главный специалист 1С \ эксперт по технологическим вопросам
Москва
зарплата от 220 000 руб.
Полный день



Архитектор 1С
Обнинск
зарплата от 150 000 руб. до 350 000 руб.
Полный день

Программист 1С
Обнинск
зарплата от 200 000 руб.
Полный день