Имя: Пароль:
1C
1С v8
HTTP запрос с логином и паролем
0 Dmitry_333
 
23.05.18
19:13
Добрый вечер всем!

Несколько часов тщетно пытаюсь составить запрос для сайта с логином и паролем.

Соединение = Новый HTTPСоединение("cp.abcp.ru",443,"Логин","Пароль",,20,Новый ЗащищенноеСоединениеOpenSSL());

ЗапросТест = Новый HTTPЗапрос("/xml");

Результат = Соединение.Получить(ЗапросТест);

Все заканчивается 301 редиректом

Проверял через сервис, редирект не уводит ни на другой урл, ни на сторонний ресурс.

Подскажите пожалуйста, что не так!
1 Fram
 
23.05.18
20:28
Уверен что логин пароль надо передавать как параметры соединения, а не как часть запроса в теле?
2 Dmitry_333
 
23.05.18
21:04
(1) Да, так ты прав, так все и оказалось!
3 Dmitry_333
 
23.05.18
21:06
Т.е. вот так:
Соединение = Новый HTTPСоединение("cp.abcp.ru",443,,,,,Новый ЗащищенноеСоединениеOpenSSL());

ЗаголовокHTTP = Новый Соответствие();
ЗаголовокHTTP.Вставить("Content-Type", "application/x-www-form-urlencoded");

ЗапросТест = Новый HTTPЗапрос("/", ЗаголовокHTTP);

ЗапросТест.УстановитьТелоИзСтроки("&login_start=1&login=Логин&pass=Пароль");
4 Cyberhawk
 
23.05.18
21:06
Молодец, ты уже в теме, что в 1С даже перед первым параметром надо ставить & :)
5 Dmitry_333
 
23.05.18
21:08
Осталось только непонятным, в качестве здорового интереса, зачем тогда в методе Новый HTTPСоединение нужны эти параметры.
6 Dmitry_333
 
23.05.18
21:08
(4) Добрые люди подсказали-)
7 Dmitry_333
 
23.05.18
21:10
(4) ты же и подсказал пару дней назад-)
8 Fram
 
23.05.18
22:02
(5) полагаю это проверка на уровне ОС на которой веб сервер крутится
9 Cyberhawk
 
24.05.18
01:30
(7) А без первого "&" пробовал?
10 Cyberhawk
 
24.05.18
01:31
(5) "зачем тогда в методе Новый HTTPСоединение нужны эти параметры" // Так для осуществления ХТТП-соединения, когда требуется авторизация
11 Dmitry_333
 
24.05.18
10:43
(7) уже не успел-)
(10) Ну так в моем случае она требуется. Или я чего-то недопонимаю?
12 Cyberhawk
 
24.05.18
10:51
(11) Если ты браузером заходишь на хост и брайзер не показывает тебе _браузерное_ всплывающее окно авторизации, значит не требуется
13 Cyberhawk
 
24.05.18
10:52
То что там в обработчик ХТТП-запроса надо передавать данные для авторизации к авторизации на веб-сервере отношения не имеет
14 Buster007
 
24.05.18
10:54
(3) и что прям передается логин и пароль сервису в запросе?
15 Cyberhawk
 
24.05.18
10:54
(14) Так сервис на коленке написанный видимо, не стал никто там заморачиваться токенами )
16 Вафель
 
24.05.18
11:07
а точно авторизация не происходит ДО запросов к данным?
17 Dmitry_333
 
24.05.18
11:35
Cyberhawk, благодарю за подробный ответ.
(14) ну так-то сервис серьёзный, одна из самых крупных платформ для запчастевых магазинов.

(16) выходит что точно, экспериментировал
18 Dmitry_333
 
24.05.18
11:37
Кстати, а можно ли логин с паролем при ssl соединении сразу в урл "подшивать"?
19 Вафель
 
24.05.18
11:41
(17) там вообще то страничка сформой авторизации открывается.
нужно пост делать как в (3)
20 Dmitry_333
 
24.05.18
11:44
(19) так только так и срабатывает
21 Юрий Лазаренко
 
24.05.18
11:48
(18) Можно, но не нужно. Это как выйти из дома, закрыть дверь на замок, повесить ключ на гвоздик у двери и уйти на работу. Можно еще записку оставить: "Дома никого не будет до 19:00".
22 Dmitry_333
 
24.05.18
11:53
(21)-)) Спасибо, доходчиво.
23 Юрий Лазаренко
 
24.05.18
12:05
(15) Так может это авторизация. Пока логин-пароль не передашь, токена нет.
24 MM
 
24.05.18
12:06
(21) А можно подробнее в чём риск при работе с SSL, через https://ru.wikipedia.org/wiki/Server_Name_Indication параметры ведь не утекают?
25 Cyberhawk
 
24.05.18
12:10
(23) Один хрен в URL ресурса передавать их - в наше время дикость)
26 Юрий Лазаренко
 
24.05.18
13:10
(25) Ну, скажем так, это не по фен-шую )
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.