HTTP-клиент

0. 81 28.07.21 02:53 Сейчас в теме
Лучшие комментарии
26. SpaceOfMyHead 81 12.09.21 10:24 Сейчас в теме
Вышло обновление 1.2.0

Добавил импорт из Postman (формат файла 2.1).

Смотрите какая штука теперь возможна. Вы (или ваш коллега из web) накидали запрос в Postman; экспортировали его... А теперь импортировали его в консоли Клиента и там же сгенерировать код 1С. PROFIT!

Ещё появилась Bearer-авторизация.
Остальные комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Segate 54 28.07.21 10:03 Сейчас в теме
Вопрос немного не по теме:
Как передать полученные куки в поле html?
2. SpaceOfMyHead 81 28.07.21 10:20 Сейчас в теме
(1) Получить доступ к Cookie можно так.

Сессия находится в дополнительных параметрах. В сессии есть поле "Печенье". Допустим, вы храните в переменной "ДП" настроенные дополнительные параметры выполнения запроса. Тогда можно либо обратиться непосредственно к Печенью:

х = ДП.Сессия.Печенье; // тип Соответствие


либо сделать копию и обратиться к копии:

Копия = КлиентHTTPКлиентСервер.НовыеДополнительныеПараметры();
КлиентHTTPКлиентСервер.СкопироватьПеченье(Копия, ДП);
х = Копия.Сессия.Печенье;
15. Serg O. 199 29.07.21 07:58 Сейчас в теме
(2) куки в сессии, а как ту же самую сессию (не новую, а ту, где куки были), получить?
Или Через нлвый... Вовсе не новый, а старый клиент http?
16. SpaceOfMyHead 81 29.07.21 11:13 Сейчас в теме
(15) "Сессия" – внутренний объект дополнительных параметров. Клиент сам позаботится о сборе и использовании Cookie. Использование сессии добавил в примеры кода.

Если вам потребовалась внутрянка, то просто возьмите сессию со всем содержимым из дополнительных параметров. Я не делал геттеров для внутренностей сессии. Если вы лезете внутрь, то делаете это намеренно.

Однако есть служебная процедура копирования Cookie между дополнительными параметрами выполнения запроса:
КлиентHTTPКлиентСервер.СкопироватьПеченье(ПараметрыПриемник, ПараметрыИсточник)

Пример использования в коде формы Консоли (команда "Выполнить").
3. Segate 54 28.07.21 10:23 Сейчас в теме
(2) а теперь мне нужно передать эти куки в поле html, чтобы получить доступ к данным после авторизации.
4. SpaceOfMyHead 81 28.07.21 10:39 Сейчас в теме
(3) Если вы выполняете запросы к внешним сервисам через Клиент, то система сама подставит куки (при наличии) куда надо (заголовок Cookie) и отправит их. С ответом сервиса вы уже работаете самостоятельно.

Большего сказать не могу, не знаю подробностей вашей ситуации.
27. SpaceOfMyHead 81 12.09.21 11:21 Сейчас в теме
(3) Смотрите.

Любой http-клиент передаёт данные авторизации в заголовках очередного запроса (есть нюансы, а в принципе - так). Cookie - это один из заголовков.

Страница, которую мы видим в браузере, приходит в теле ответа (опять же зачастую) - приходит текстом HTML.

ПолеHTML в платформе как раз для того, чтобы, используя движок браузера, отобразить этот HTML в "человеческом" виде.

Так что ПолеHTML и попытка авторизоваться - разные истории.

И сабж берёт всю эту низкоуровневую возьню с авторизацией на себя под капотом.
29. Segate 54 13.09.21 10:35 Сейчас в теме
(27)
ж берёт всю эту низкоуровневую возьню с авторизацией на себя под капотом


Понимаю, но целевой интернет портал - очень плохо работает с авторизацией, а так же с редиректом после авторизации... и хочется фронтовые запросы на авторизацию проводить самостоятельно... а в поле http уже передать готовую куку полученную при авторизации в другом месте.
Второй вариант - в поле html передавать сначала скрипт для авторизации, а потом уже делать редирект
5. oleganatolievich 148 28.07.21 10:47 Сейчас в теме
круто. но зачем, если есть Postman / SoapUI?
6. SpaceOfMyHead 81 28.07.21 10:54 Сейчас в теме
(5)Клиент – это не только консоль, но и библиотека методов для кодинга.
8. oleganatolievich 148 28.07.21 11:21 Сейчас в теме
(6) да, видел уже какой-то клиент HTTP-запросов здесь. но мне чего-то не зашло. хорошо, что делаете что-то в этом направлении.
10. SpaceOfMyHead 81 28.07.21 11:44 Сейчас в теме
(8)
не зашло


Какие потребности остались не закрыты?
28. SpaceOfMyHead 81 12.09.21 11:30 Сейчас в теме
(5) Теперь можно импортировать запросы из Postman и транслировать их в код 1С в консоли Клиента!
7. vano-ekt 855 28.07.21 11:16 Сейчас в теме
(0) Консоль HTTP запросов (ИР)
9. SpaceOfMyHead 81 28.07.21 11:27 Сейчас в теме
(7) А там можно в форме тела POST передавать файлы? А там Set-Cookie от https:// / распарсятся?

а вы попробуйте этот
12. SpaceOfMyHead 81 28.07.21 12:15 Сейчас в теме
(9) отмодерировали адрес, который возвращает в значении Cookie JSON, что ломает парсинг в ИР (и в Коннекторе). Создатели платформы подкинули проблем, соединив заголовки с одинаковым именем в строку через ','
11. SpaceOfMyHead 81 28.07.21 11:51 Сейчас в теме
(7) Там свои плюсы, здесь свои. Консоль в сабже – приятный бонус к библиотеке методов.
13. Tahallus 430 28.07.21 19:48 Сейчас в теме
14. SpaceOfMyHead 81 28.07.21 20:02 Сейчас в теме
(13) Не буду я здесь критиковать работу коллег.

В Клиенте собран мой опыт работы в 1С с внешними сервисами. Здесь есть фичи, которых нет в других работах (или они реализованы по другому). И да, Коннектор имеет фичи, которые отсутствуют в Клиенте.
mvxyz; Evg-Lylyk; mihap; +3 Ответить
17. dctvghbdtn 29.07.21 13:56 Сейчас в теме
18. SpaceOfMyHead 81 29.07.21 14:16 Сейчас в теме
(17) Судя по переписке... Вам сервер вернул 200 и в заголовках нет Location (перепроверьте наличие этого заголовка). Значит для вас как для клиента никаких редиректов нет. И это не ваше дело как клиента, куда там ходит и что делает сервер, чтобы выдать вам ответ, ни технически, ни идеологически. Вы "знаете" только то, что вам вернулось в ответе.
21. dctvghbdtn 29.07.21 14:46 Сейчас в теме
(18) Логика ваша понятна. Интересен концепт в принципе обработки таких запросов.
Эта ситуация адекватно отрабатывается браузером, т.е. я увижу и свой post удаленному серверу и увижу редирект (как отрисованная "новая" страница). Т.е. связь (соединение) между клиентом и сервером сохранилась. Но в моем случае получается контекст соединения теряется в принципе.
22. SpaceOfMyHead 81 29.07.21 14:58 Сейчас в теме
(21) Нужны подробности. Адрес обращения, параметры, заголовки, порт, прокси...
19. malikov_pro 958 29.07.21 14:29 Сейчас в теме
Чем не устроил?
https://github.com/vbondarevsky/Connector

Статья
https://infostart.ru/public/709325/

С телом запроса иногда траблы (прекос по параметрам), в остальном норм.
20. malikov_pro 958 29.07.21 14:31 Сейчас в теме
Если интересна тема унификации HTTP, то посмотрите https://github.com/gothinkster/realworld, будет желание реализовать - пишите, выделю время.
23. user1346935 29.07.21 15:07 Сейчас в теме
24. SpaceOfMyHead 81 03.08.21 11:08 Сейчас в теме
Вышло исправление. Исправил выполнение POST multipart (в ранних версиях не работает совсем)
25. SpaceOfMyHead 81 13.08.21 11:13 Сейчас в теме
Вышло обновление 1.1.0

Добавил кодогенерацию интерактивно настроенного запроса в Консоли.
Появился доступ к дополнительным настройкам выполнения запроса.
26. SpaceOfMyHead 81 12.09.21 10:24 Сейчас в теме
Вышло обновление 1.2.0

Добавил импорт из Postman (формат файла 2.1).

Смотрите какая штука теперь возможна. Вы (или ваш коллега из web) накидали запрос в Postman; экспортировали его... А теперь импортировали его в консоли Клиента и там же сгенерировать код 1С. PROFIT!

Ещё появилась Bearer-авторизация.
Оставьте свое сообщение
Вопросы с вознаграждением
Вакансии
Администратор 1C
Москва
зарплата до 110 000 руб.
Полный день

Консультант-аналитик 1С
Москва
зарплата до 180 000 руб.
Полный день

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

Программист, аналитик, эксперт 1С
Санкт-Петербург
По совместительству