|
Отправка POST запроса на авторизацию | ☑ | ||
---|---|---|---|---|
0
skela1c
09.06.17
✎
09:22
|
Отправляю POST запрос по https для авторизации на сайте. Данные для подстановки беру из fiddler в "ресурс" подставляю
"/auth/login?wa=wsignin1.0&wtrealm=https%3a%2f%2fhttp://www.site.ru%2f&wctx=rm%3d0%26id%3d%26ru%3d%252f" , в тело запрос логин и пароль. Но авторизация не проходит в результате запроса возвращается страниц авторизации, подскажите в чем может быть проблема? |
|||
1
dezss
09.06.17
✎
09:27
|
(0) покажи как отправляешь запрос.
По идее надо так формировать соединение: Новый HTTPСоединение(<Сервер>, <Порт>, <Пользователь>, <Пароль>, <Прокси>, <Таймаут>, <ЗащищенноеСоединение>, <ИспользоватьАутентификациюОС>) , а потом уже слать в этом соединении сам запрос: ОтправитьДляОбработки(<HTTPЗапрос>, <ИмяВыходногоФайла>) Новый HTTPЗапрос(<АдресРесурса>, <Заголовки>) |
|||
2
skela1c
09.06.17
✎
09:33
|
ssl1 = Новый ЗащищенноеСоединениеOpenSSL(
Новый СертификатКлиентаWindows(СпособВыбораСертификатаWindows.Авто), Новый СертификатыУдостоверяющихЦентровWindows); Соединение = Новый HTTPСоединение("security.site.ru",,,,,,ssl1); РесурсНаСервереАВ = "/auth/login?wa=wsignin1.0&wtrealm=https%3a%2f%2fhttp://www.site.ru%2f&wctx=rm%3d0%26id%3d%26ru%3d%252f"; КодАвторизации = "login=***&password=***"; Заголовки = Новый Соответствие; Заголовки.Вставить("Cookie", ИдентификаторСессии1); Заголовки.Вставить("Content-Type", "application/x-www-form-urlencoded;"); ЗапросАвторизации = Новый HTTPЗапрос(РесурсНаСервереАВ, Заголовки); ЗапросАвторизации.УстановитьТелоИзСтроки(КодАвторизации); РезультатАвторизации = Соединение.ОтправитьДляОбработки(ЗапросАвторизации); |
|||
3
dezss
09.06.17
✎
09:47
|
(2) А пробовал логин/пароль передавать в Соединение, а не в заголовки запроса?
|
|||
4
skela1c
09.06.17
✎
09:49
|
(3) неа, а куда там поместить?
|
|||
5
skela1c
09.06.17
✎
09:52
|
подставил, но не прокатило
|
|||
6
dezss
09.06.17
✎
09:53
|
(5) что значит, не прокатило?
Что вернуло? |
|||
7
dezss
09.06.17
✎
09:57
|
(5) Тут главный вопрос, что ты хочешь получить.
Авторизация нужна для чего-то конкретно или так, просто поиграться? Вот это: РесурсНаСервереАВ = "/auth/login?wa=wsignin1.0&wtrealm=https%3a%2f%2fhttp://www.site.ru%2f&wctx=rm%3d0%26id%3d%26ru%3d%252f";; по идее совсем не нужно, нужен конкретный ресурс, от которого ты хочешь получить ответ, а не просто авторизация. |
|||
8
skela1c
09.06.17
✎
10:01
|
а как мне эту страницу найти, у меня в "action" формы это указано и в fiddler в запросе эта строка
|
|||
9
dezss
09.06.17
✎
10:04
|
(8) попробуй там залогиниться и посмотреть
|
|||
10
skela1c
09.06.17
✎
10:13
|
если я указываю в браузере "security.site.ru", подставляется security.site.ru/Auth/Login, я делаю запрос
к "security.site.ru", в ресурсе указываю "/Auth/Login", в ответ получаю {"status":"success","data":{"id":-1}} |
|||
11
dezss
09.06.17
✎
10:16
|
(10) после этого что ты там делаешь, к каким ресурсам обращаешься?
|
|||
12
skela1c
09.06.17
✎
10:17
|
не понял вопрос
|
|||
13
dezss
09.06.17
✎
10:19
|
(12) что ты делаешь после авторизации?
Ты ж авторизуешься не просто так? |
|||
14
skela1c
09.06.17
✎
10:21
|
ну да, я хочу искать по сайту товары
|
|||
15
skela1c
09.06.17
✎
10:37
|
ну и попасть в кабинет
|
|||
16
dezss
09.06.17
✎
10:42
|
(14) ну вот и смотри куда ты обращаешься, когда ищешь товары..и относительно этого делай запрос.
|
|||
17
skela1c
09.06.17
✎
10:44
|
(16) я авторизуюсь на security.site.ru, а ищу на site.ru
|
|||
18
dezss
09.06.17
✎
10:46
|
(17) после авторизации что возвращается в Location?
|
|||
19
dezss
09.06.17
✎
10:46
|
(17) Да и вообще, какой код ответа приходит?
|
|||
20
skela1c
09.06.17
✎
10:51
|
нету Location, если я авторисуюсь через браузер возвращается в куки такая вещь Set-Cookie: .STS-AUTH, как мне это в 1С получить?
|
|||
21
dezss
09.06.17
✎
11:07
|
(20) т.е. он после авторизации никуда не редиректит?
Странно, а в 1с какой ты результат получаешь после авторизации? |
|||
22
skela1c
09.06.17
✎
11:35
|
после запроса мне не возвращается Set-Cookie:
|
|||
23
dezss
09.06.17
✎
11:39
|
(22) да покажи же, что тебе возвращается!!!
|
|||
24
dezss
09.06.17
✎
11:40
|
(22) РезультатАвторизации, что есть в нем?
|
|||
25
skela1c
09.06.17
✎
11:44
|
||||
26
dezss
09.06.17
✎
11:46
|
(25) а код состояния?
|
|||
27
skela1c
09.06.17
✎
11:47
|
200
|
|||
28
dezss
09.06.17
✎
11:49
|
(27) ну так он нормально отработал, значит.
РезультатАвторизации.ПолучитьТелоКакСтроку() Что показывает? |
|||
29
Вафель
09.06.17
✎
11:51
|
А так же что в РезультатАвторизации.Заголовки
|
|||
30
dezss
09.06.17
✎
11:52
|
(29) в (25)
|
|||
31
skela1c
09.06.17
✎
11:55
|
ПолучитьТелоКакСтроку() возвращает код страницы авторизации
|
|||
32
skela1c
09.06.17
✎
11:57
|
||||
33
Вафель
09.06.17
✎
11:58
|
может не туда шлешь запрос?
|
|||
34
dezss
09.06.17
✎
11:58
|
(31) так а когда сам через браузер логинишься, тебя редиректит на site.ru?
|
|||
35
dezss
09.06.17
✎
12:00
|
(31) не, тут так не угадаешь, это надо сидеть и играться. А сайта такого чета нету. Да и логина-пароля тоже.)
|
|||
36
skela1c
09.06.17
✎
12:05
|
это при авторизации через браузер
http://joxi.ru/DmBgMLjTXNDk2P |
|||
37
skela1c
09.06.17
✎
12:07
|
а это из 1С
http://joxi.ru/n2YLqaotYjlBm6 |
|||
38
dezss
09.06.17
✎
12:09
|
(36) все таки спалился)
|
|||
39
dezss
09.06.17
✎
12:09
|
(37) а авторизация на site.ru не подходит?
|
|||
40
skela1c
09.06.17
✎
12:10
|
из браузера проходит
|
|||
41
Вафель
09.06.17
✎
12:10
|
а тело точно одинаковое передаешь?
|
|||
42
Вафель
09.06.17
✎
12:11
|
Я вижу контент ленгс разный
|
|||
43
skela1c
09.06.17
✎
12:11
|
да из fiddler взял
|
|||
44
dezss
09.06.17
✎
12:11
|
(40) а из 1с?
|
|||
45
Вафель
09.06.17
✎
12:11
|
и тайп тоже другой
|
|||
46
skela1c
09.06.17
✎
12:12
|
(42) это важно?
|
|||
47
dezss
09.06.17
✎
12:13
|
(45) тайп тот же.
|
|||
48
skela1c
09.06.17
✎
12:13
|
мне куки не возвращаются
|
|||
49
dezss
09.06.17
✎
12:14
|
(47) + тьфу, понял о чем речь..
|
|||
50
Вафель
09.06.17
✎
12:15
|
(46) Это значит ты разные данные передаешь
|
|||
51
skela1c
09.06.17
✎
12:19
|
а сейчас http://joxi.ru/EA4d3zxUdDVPAb
|
|||
52
Вафель
09.06.17
✎
12:21
|
(51) А как же (42)
|
|||
53
skela1c
09.06.17
✎
12:31
|
делаю Заголовки.Вставить("Content-Length:", "33");
http://joxi.ru/EA4d3zxUdDelAb |
|||
54
skela1c
09.06.17
✎
12:32
|
(53) все норм отправляется
|
|||
55
Вафель
09.06.17
✎
12:39
|
(53) Надо не заголовок править, а тело, чтоб длина была одинакова
|
|||
56
skela1c
09.06.17
✎
13:13
|
(55) так я логин и пароль в теле отправляю
|
|||
57
skela1c
09.06.17
✎
14:00
|
запрос получилось отправить, а теперь бы ид сессии вернуть
|
|||
58
skela1c
09.06.17
✎
14:41
|
после выполнения не возвращается Set-Cookie
|
|||
59
Вафель
09.06.17
✎
14:44
|
Тебе удалось добиться того что длина одинаковая?
|
|||
60
skela1c
09.06.17
✎
14:45
|
да, я отправляю одинаковые заголовки, но получаю разные
|
|||
61
skela1c
09.06.17
✎
14:53
|
http://joxi.ru/12Mg3YoT3MayrJ запрос с fiddler
|
|||
62
Вафель
09.06.17
✎
14:55
|
(61) покажи из 1с, где 33
|
|||
63
skela1c
09.06.17
✎
14:55
|
||||
64
Вафель
09.06.17
✎
14:55
|
ну и заголовки то ты передаешь далеко не все
|
|||
65
Вафель
09.06.17
✎
14:57
|
ну тогда хз
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |