|
HTTP запрос | ☑ | ||
---|---|---|---|---|
0
BubbleGumm
28.11.16
✎
00:31
|
Как преобразовать следующий вызов в код 1с:
curl -c cookie.txt -d "AuthPhase=1&AUTH_USER=ВАШ_ЛОГИН&AUTH_PW=ВАШ_ПАРОЛЬ" http://b2b.resurs-media.ru/netcat/modules/auth/ пробую вот так Соединение = Новый HTTPСоединение("b2b.resurs-media.ru", ,"пользователь", "пароль"); Заголовки = Новый Соответствие; Заголовки.Вставить("AuthPhase", 1); Заголовки.Вставить("AUTH_USER", "пользователь"); Заголовки.Вставить("AUTH_PW", "пароль"); HTTPЗапрос = Новый HTTPЗапрос("/netcat/modules/auth/", Заголовки); ВремКаталог = ПолучитьИмяВременногоФайла(); СоздатьКаталог(ВремКаталог); ИмяФайла = ВремКаталог + "\temp.htm"; HTTPОтвет = Соединение.ОтправитьДляОбработки(HTTPЗапрос, ИмяФайла); получаю в ответе страницу авторизации, что здесь не так? |
|||
1
Mauser
28.11.16
✎
00:42
|
Все не так. Надо открыть слева описание командной строки curl, справа - синтаксис помощник 1С, внимательно прочитать и не запихивать в заголовок все непонятное тебе.
|
|||
2
Сергиус
28.11.16
✎
00:55
|
(0)Параметры пиши в файл в виде строки AuthPhase=1&AUTH_USER=ВАШ_ЛОГИН&AUTH_PW=ВАШ_ПАРОЛЬ, из заголовков убери.
|
|||
3
BubbleGumm
28.11.16
✎
00:58
|
(2) Ага, спсибо, а как файл на сервер передать?
|
|||
4
BubbleGumm
28.11.16
✎
01:20
|
Пробую HTTPЗапрос.УстановитьТелоИзСтроки(AuthPhase=1&AUTH_USER=ВАШ_ЛОГИН&AUTH_PW=ВАШ_ПАРОЛЬ);
и HTTPЗапрос.УстановитьИмяФайлаТела(ИмяФайла), предварительно записав в файл, один черт возвращает страницу авторизации. |
|||
5
3kbgz
28.11.16
✎
01:41
|
(0) Попробуй "пользователь" и "пароль" писать без кавычек.
|
|||
6
BubbleGumm
28.11.16
✎
01:47
|
без кавычек пишу, не проходит.
|
|||
7
3kbgz
28.11.16
✎
02:06
|
(6) Соединение точно не защищенное?
|
|||
8
BubbleGumm
28.11.16
✎
02:09
|
||||
9
Mauser
28.11.16
✎
07:23
|
Документацию открывал или так и будешь в компании методом тыка сиську искать? Content-type Александр Сергеевич за тебя указывать будет?
|
|||
10
Мимохожий Однако
28.11.16
✎
07:33
|
Давно бы уж поиском по типовой конфигурации нашёл пример для = Новый HTTPЗапрос
|
|||
11
Сергиус
28.11.16
✎
09:49
|
(0)Там не все так просто.
Нужно делать 2 запроса! Первый запрос, GET, отправляешь на этот же адрес, в ответе будет заголовок Set-Cookie:sid=dk0k6p9j8r95rlargg61b9me51(это как пример, в твоем случае будет другой). И 2-й запрос уже делаешь POST, для него передаешь это значение уже в заголовке запроса. И плюс естественно данные POST. AuthPhase:1 REQUESTED_FROM:/netcat/modules/auth/ REQUESTED_BY:GET catalogue:1 sub:334 cc:202 AUTH_USER: AUTH_PW: submit:Авторизоваться |
|||
12
Сергиус
28.11.16
✎
09:55
|
(4)
<<пробую <<HTTPЗапрос.УстановитьТелоИзСтроки(AuthPhase=1&AUTH_USER=В<<АШ_ЛОГИН&AUTH_PW=ВАШ_ПАРОЛЬ); Соединение = Новый HTTPСоединение("b2b.resurs-media.ru"); ДанныеPOST = "AuthPhase=1&AUTH_USER="+Пользователь+"&AUTH_PW="+Пароль; ЗаголовокHTTP = Новый Соответствие(); ЗаголовокHTTP.Вставить("Cookie","sid=dk0k6p9j8r95rlargg61b9me51;"); Запрос = Новый HTTPЗапрос("/netcat/modules/auth/",ЗаголовокHTTP); Запрос.УстановитьТелоИзСтроки(ДанныеPOST); Ответ = Соединение.ОтправитьДляОбработки(Запрос); |
|||
13
Сергиус
28.11.16
✎
09:56
|
+(12)Что-то в таком роде, естественно, как и писал в (11) sid нужно получать GET запросом предварительно. Но кстати попробуй, может и с этим прокатит.
|
|||
14
BubbleGumm
28.11.16
✎
13:42
|
(13) Нет, не получается к сожалению, второй запрос возвращает новый sid и страницу авторизации.
|
|||
15
Serginio1
28.11.16
✎
13:50
|
Используйте Fiddler
|
|||
16
BubbleGumm
28.11.16
✎
14:04
|
(15) Вникать в тему долго, проще curl использовать, но хотелось бы штатными средствами решить
|
|||
17
Serginio1
28.11.16
✎
14:07
|
(16) Фиддлер это инструмент для просмотра трафика http://www.telerik.com/fiddler
|
|||
18
BubbleGumm
28.11.16
✎
14:16
|
(17) Разбираться времени нет совсем.
|
|||
19
oleg_km
28.11.16
✎
14:37
|
(18) Нет времени - не разбирайся. Или рассчитываешь, что кто-то свое время готов потратить на решение твоей задачи? Прикольною
|
|||
20
BubbleGumm
28.11.16
✎
14:50
|
(19) Так проходи мимо, не трать свое время
|
|||
21
Сергиус
28.11.16
✎
18:12
|
(14)А ты мой сид пробовал, или получал новый GET-запросом?
|
|||
22
BubbleGumm
28.11.16
✎
18:13
|
(21) Новый GETом получил
|
|||
23
Сергиус
28.11.16
✎
18:43
|
(22)Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Encoding:gzip, deflate Accept-Language:ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4 Cache-Control:max-age=0 Connection:keep-alive Content-Length:212 Content-Type:application/x-www-form-urlencoded Cookie:sid=r3tbf1k8tnj82meb3ofcatihm5; QUICK_BAR_CLOSED=-1; __utmt=1; __utma=156590568.937404543.1480347677.1480347677.1480347677.1; __utmb=156590568.1.10.1480347677; __utmc=156590568; __utmz=156590568.1480347677.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none) Host:b2b.resurs-media.ru Origin:http://b2b.resurs-media.ru Referer:http://b2b.resurs-media.ru/netcat/modules/auth/ Upgrade-Insecure-Requests:1 User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36 Попробуй и другие заголовки добавлять, такие как Host,Referer, ну и остальные, если не поможет |
|||
24
BubbleGumm
28.11.16
✎
19:23
|
О, прошла авторизация.
HTTPЗапрос.Заголовки.Вставить("Content-Type", "application/x-www-form-urlencoded"); Вот это вот надо было. Сверху там кто-то умничал при контент тайп, ну вот в этом дело, да. |
|||
25
Сергиус
28.11.16
✎
19:26
|
(24)Ну вот так и подбираешь то, что нужно) Пользоваться можно фидлером или в хроме Инструменты разработчика.
|
|||
26
Serginio1
29.11.16
✎
10:09
|
(20) С фиддлером ты бы потратил значительно меньше времени.
|
|||
27
oleg_km
29.11.16
✎
12:41
|
(26) Да ну наф. толи дело сидеть раскрыв клюв и ждать когда туда бросят червяка
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |