Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

HTTP post запросы в 1с

HTTP post запросы в 1с
Я
   Real_Anderson
 
05.01.21 - 16:45
Добрый день!
Необходимо передать на сайт логин и пароль, через post запрос , подскажите код пожалуйста, примеры запросов.
   ДенисЧ
 
1 - 05.01.21 - 17:00
ОтправитьДляОбработки()
   Сергиус
 
2 - 05.01.21 - 17:42
(0)Смотря в каком формате на удаленном хосте это все ждут..как вариант можно отправлять строку вида "login=login&pass=pass" и желательно шифрованную
   Real_Anderson
 
3 - 05.01.21 - 17:55
Вот так ?

HTTP = Новый HTTPСоединение("Сервер",443,,,,,Новый ЗащищенноеСоединениеOpenSSL());

    ЗаголовокHTTP = Новый Соответствие();
    ЗаголовокHTTP.Вставить("Content-Type", "application/x-www-form-urlencoded");
    ЗапросДанных = Новый HTTPЗапрос("/",ЗаголовокHTTP); 
    ЗапросДанных.УстановитьТелоИзСтроки("Login=*****&Pass=*****");
    Ответ = HTTp.Получить(ЗапросДанных);
    
    
    Сообщить(Ответ.ПолучитьТелоКакСтроку());
   acht
 
4 - 05.01.21 - 18:04
(3) .Получить это GET. Если тебе нужен POST, то это .ОтправитьДляОбработки
Ну и прикрыть логин/пароль ЗакждироватьСтроку с кодировкой урл, если уж "application/x-www-form-urlencoded" используешь
   ДенисЧ
 
5 - 05.01.21 - 18:21
(3) "Ответ = HTTp.Получить(ЗапросДанных);"

Я для кого написал (1) ??? Для Генриха Кальтенбруннера?
   Real_Anderson
 
6 - 05.01.21 - 18:54
(5)     ЗаголовокHTTP = Новый Соответствие();
    ЗаголовокHTTP.Вставить("Content-Type", "application/x-www-form-urlencoded");
    ЗапросДанных = Новый HTTPЗапрос("/",ЗаголовокHTTP); 
    ЗапросДанных.УстановитьТелоИзСтроки("&Login=*****&Pass=****");
    Ответ = HTTp.ОтправитьДляОбработки(ЗапросДанных);
    
    
    Сообщить(Ответ.ПолучитьТелоКакСтроку());
    
А так тоже не хочет работать(
   ДенисЧ
 
7 - 05.01.21 - 19:10
(6) Просто не хочет?
Так и говорит "У меня до 10го выходные, я не буду работать! И вообще, нифиг кнопки жать, сбегай за пивом!" ?
Или что-то более другое?
   ДедМорроз
 
8 - 05.01.21 - 19:25
Перед логином амперсанд для какого?
И там не так,там через boundary,если в теле.
   Real_Anderson
 
9 - 05.01.21 - 19:27
(8) Дед мороз подскажи, сделай подарок)
   Real_Anderson
 
10 - 05.01.21 - 19:30
Через консоль в браузере во вкладке Network form data вот такие параметры

Parameters: Eneg@Login('{"Home":true,"Accoun":"Логин","Account":"пароль",
"Rooms_Count":"","PostAddress":"","IsApproved":false,"Residents":"","FullAre":"","Fullпаа_All":"",
"bindAccountDataItem":{},"bindAccountDataList":[],"contractsQueueList":[],"SaveDataFlag":false,"Baladfd":[],
"BalansesGroups":[],"IsMonthButton":false,"IsYearButton":false,"CreditList":[]}'#string
   Real_Anderson
 
11 - 05.01.21 - 19:31
Как это в запрос внести?
   Real_Anderson
 
12 - 05.01.21 - 19:32
(7) Ден спасибо за совет, я не пью)
   ДедМорроз
 
13 - 06.01.21 - 10:34
Так,у вас там json,а вы тут про какие-то FormData.
Для работы с json есть специальные процедуры,но можно и просто строкой.
Для начала,в отправить для обработки просто строку запихать со всеми данными и посмотреть,как там не съедят.
Ну и Application/json в тип содержимого указать.
   Real_Anderson
 
14 - 06.01.21 - 10:51
Можно ответ в виде кода?

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.