Имя: Пароль:
1C
1С v8
HTTP post запросы в 1с
0 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" и желательно шифрованную
3 Real_Anderson
 
05.01.21
17:55
Вот так ?

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

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

Я для кого написал (1) ??? Для Генриха Кальтенбруннера?
6 Real_Anderson
 
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,если в теле.
9 Real_Anderson
 
05.01.21
19:27
(8) Дед мороз подскажи, сделай подарок)
10 Real_Anderson
 
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
11 Real_Anderson
 
05.01.21
19:31
Как это в запрос внести?
12 Real_Anderson
 
05.01.21
19:32
(7) Ден спасибо за совет, я не пью)
13 ДедМорроз
 
06.01.21
10:34
Так,у вас там json,а вы тут про какие-то FormData.
Для работы с json есть специальные процедуры,но можно и просто строкой.
Для начала,в отправить для обработки просто строку запихать со всеми данными и посмотреть,как там не съедят.
Ну и Application/json в тип содержимого указать.
14 Real_Anderson
 
06.01.21
10:51
Можно ответ в виде кода?