Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

HTTP запрос, метод POST. Перенести правильно в 1с, согласно "скришотам" из postman.

HTTP запрос, метод POST. Перенести правильно в 1с, согласно "скришотам" из postman.
Я
   SkillUp
 
08.01.19 - 09:56
скрин №1 -https://drive.google.com/open?id=1mgm3OBJQBPkTNDKAPay6FmkkaaWHHtcI
скрин №2 - https://drive.google.com/open?id=171FOtCpmmfQX5wkGu-Au9XYoo74Nxzlt

Мой код, знаю что не правильно ,вот прошу помощь, сделать как postman (как на срине, вот только не пойму как:

ТелоЗапроса = "username:МойЛогин,password:МойПароль"; 
    
    Соединение = Новый HTTPСоединение("api.seller.rozetka.com.ua",,"МойЛогин","МойПароль",,,,);
    ЗапросСервера = Новый HTTPЗапрос("/sites");
    ЗапросСервера.Заголовки.Вставить("Content-type", "application/json");
    ЗапросСервера.УстановитьТелоИзСтроки(ТелоЗапроса);
    ОтветСервера = Соединение.ВызватьHTTPМетод("POST", ЗапросСервера);
    ТелоОтвета = ОтветСервера.ПолучитьТелоКакСтроку();
    КодОтвета  = ОтветСервера.КодСостояния;
    Сообщить (ОтветСервера.КодСостояния);
 
 
   SkillUp
 
1 - 08.01.19 - 09:57
Или то, как у меня, в корне не правильно?
   Лефмихалыч
 
2 - 08.01.19 - 10:11
а что не получается-то? где-то ошибка вываливается или что?
   SkillUp
 
3 - 08.01.19 - 10:15
(2) Та просто, ОтветСервера.КодСостояния -301 а надо 200. Как postman...
   SkillUp
 
4 - 08.01.19 - 10:16
(2) И не пойму что надо изменить в коде, что б получить заветный 200 ,а  в месте с ним и "токен доступа"...
   ДенисЧ
 
5 - 08.01.19 - 10:54
Посмотри в ОтветСервера поле Location
Есть такое? Тогда повторяй запрос уже по новому адресу
И вообще читай RFC, они рулеззь
https://ru.wikipedia.org/wiki/HTTP_301
   NorthWind
 
6 - 08.01.19 - 11:01
(0) я бы посоветовал еще поставить до кучи Fiddler и посмотреть, как отправляет запрос 1С в сравнении с постманом. Если верить скринам, у вас в теле запроса передается JSON с именем пользователя и паролем. Вот это - ТелоЗапроса = "username:МойЛогин,password:МойПароль";  - не JSON. Где фигурные скобки, где кавычки?
   NorthWind
 
7 - 08.01.19 - 11:15
и еще вопрос. Вы уверены что у вас HTTP, а не HTTPS? Вообще открытым текстом пароли по HTTP гонять... ну как бы сказать, несекьюрно. Совсем. Здесь Соединение = Новый HTTPСоединение("api.seller.rozetka.com.ua",,"МойЛогин","МойПароль",,,,); вы открываете HTTP соединение, где все гоняется открытым текстом. Может, ваш сервис не принимает такое?
   NorthWind
 
8 - 08.01.19 - 11:17
ну да! На скринах ясно написано - https://...!
А раз так, вам надо последний параметр в HTTPСоединение передать Истина - защищенное соединение.
   SkillUp
 
9 - 08.01.19 - 11:27
(7) Пароли предварительно были изменены!!!
   SkillUp
 
10 - 08.01.19 - 11:28
(7) Хотя ,все правильно вы пишите...
 
 Рекламное место пустует
   SkillUp
 
11 - 08.01.19 - 11:39
(6) Кавычки и скобки так?
ТелоЗапроса = '{"username":"Login","password":"Password(base64)"}';
   NorthWind
 
12 - 08.01.19 - 11:58
(11) ну вообще я бы вот так сделал
ТелоЗапроса = "{""username"":""Login"",""password"":""Password(base64)""}";
   NorthWind
 
13 - 08.01.19 - 12:02
(9) да это все равно изменены или нет, дело в другом. Посмотрите сами на скрин - у вас там префикс https://. И это правильно, потому что сейчас по HTTP уже почти никто не работает. А из программы вы устанавливаете соединение HTTP. Возможно, вам эта самая розетка отказывает просто в приеме такого соединения, потому что там вот этот JSON с паролем пойдет открытым текстом через всю сеть. Читай - не хочу.
   Лефмихалыч
 
14 - 08.01.19 - 12:29
Новый HTTPСоединение(седьмой_параметр_прочитай_про_него_в_СП)
   SkillUp
 
15 - 08.01.19 - 12:32
(13) БЛИН, если бы не ты я б уже повесился!!!! СПАСИБО!!!!
Заветный код 200!!!
   SkillUp
 
16 - 08.01.19 - 12:38
(13) ЧТОБ Я БЕЗ ТЕБЯ ДЕЛАЛ!!!
   SkillUp
 
17 - 08.01.19 - 12:40
(13) У МЕНЯ УЖЕ КРЫША ЕХАЛА...
   SkillUp
 
18 - 08.01.19 - 12:46
(13) ТЫ МНЕ УЖЕ СКОЛЬКО МОМЕНТОВ ПОДСКАЗАЛ!!!

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