|
передать куки в в поле html-документа | ☑ | ||
---|---|---|---|---|
0
gls
05.05.15
✎
19:54
|
здравствуйте.
помогите, пожалуйста,войти в яндекс-эккаунт и под его учеткой открыть страницу в поле html-документа. что пытаюсь сделать: 1. программно авторизоваться в яндексе (возможно, что здесь требуется еще пара post-get запросов - fiddler делает несколько переадресаций), но куки вроде нормальные 2. получить куки 3. передать их в html-поле. вопросы: 1. правильно ли выбран путь решения задачи? 2. возможно ли передать куки?
где АдресСтраницыАутентификации - html-поле результат работы: <CODE> КодСостояния = 302 АдресПереадресации = https://passport.yandex.ru/auth/finish/?track_id=f1aa241cf3bf09d8c367a9d68cf134c714 Куки = yandexuid=486685191430841714; Max-Age=315360000; Domain=.yandex.ru; Path=/; Expires=Fri, 02 May 2025 16:01:54 GMT, Session_id=3:1430841714.5.0.1430841714822:Ln5PXw:14.0|316285021.0.2|127702.741532.Yz8eP8cnJy63iDjVi31ep7TDgYg; Domain=.yandex.ru; expires=Tue, 19 Jan 2038 03:14:07 GMT; Path=/; HttpOnly, sessionid2=3:1430841714.5.0.1430841714822:Ln5PXw:14.1|316285021.0.2|127702.157253.buIYfektW6n2CYzH1j9jFBzMB6Q; Domain=.yandex.ru; expires=Tue, 19 Jan 2038 03:14:07 GMT; Path=/; secure; HttpOnly, yp=1746201714.udn.cDp0ZXN0YXBpMjAxNQ%3D%3D; Domain=.yandex.ru; expires=Tue, 19 Jan 2038 03:14:07 GMT; Path=/, ys=udn.cDp0ZXN0YXBpMjAxNQ%3D%3D; Domain=.yandex.ru; Path=/, L=Wk9/fwNbZGFaTENBc2xCb3FSelhceVRRNlJGM1g8GFxSVgA=.1430841714.11655.367013.cc3807bc6cc41fd526e73e1738f9b359; Domain=.yandex.ru; expires=Tue, 19 Jan 2038 03:14:07 GMT; Path=/, yandex_login=testapi2015; Domain=.yandex.ru; expires=Tue, 19 Jan 2038 03:14:07 GMT; Path=/, my=YzYBAQA=; Domain=.yandex.ru; expires=Tue, 19 Jan 2038 03:14:07 GMT; Path=/</CODE> попытка передачи куков - инфа из поля html-документа: <CODE>... Поддержка cookies: не определено Значение session_id: отсутствует ... COOKIE ВАШЕГО БРАУЗЕРА: yp: ys: yandexuid: 3009867011430834664/</CODE> |
|||
1
gls
05.05.15
✎
20:05
|
изначальная задача - получать токен доступа к api сервисов яндекса для разных эккаунтов.
поскольку полностью программно токен получать невозможно - пытаюсь автоматизировать этот процесс хотябы частично. |
|||
2
Котокот
05.05.15
✎
20:12
|
Так токен один раз получать надо вроде как, это можно и вручную сделать, а потом хранить его в базе.
|
|||
3
gls
05.05.15
✎
20:14
|
для 1-2 акков получить не проблема.
у меня акков значительно больше + с программой будут работать менеджеры без специальных знаний (т.е. чем проще интерфейсная часть - тем лучше). |
|||
4
Garykom
гуру
05.05.15
✎
20:20
|
(3) а это Вы с яндексом согласовали?
|
|||
5
gls
05.05.15
✎
20:25
|
в согласовании большой необходимости нет - яндекс ставит ограничение на интенсивность использования запросов.
а если вы про регистрацию приложения для взаимодействия с api - то приложение зарегистрировано и отмодерировано. |
|||
6
trad
05.05.15
✎
20:29
|
(0) 2. возможно ли передать куки?
header.Вставить("Cookie", "yandexuid=486685191430841714; Max-Age=315360000; Domain=.yandex.ru; Path=/; Expires=Fri, 02 May 2025 16:01:54 GMT, Session_id=3:1430841714.5.0.1430841714822:Ln5PXw:14.0|316285021.0.2|127702.741532.Yz8eP8cnJy63iDjVi31ep7TDgYg; Domain=.yandex.ru; expires=Tue, 19 Jan 2038 03:14:07 GMT; Path=/; HttpOnly, sessionid2=3:1430841714.5.0.1430841714822:Ln5PXw:14.1|316285021.0.2|127702.157253.buIYfektW6n2CYzH1j9jFBzMB6Q; Domain=.yandex.ru; expires=Tue, 19 Jan 2038 03:14:07 GMT; Path=/; secure; HttpOnly, yp=1746201714.udn.cDp0ZXN0YXBpMjAxNQ%3D%3D; Domain=.yandex.ru; expires=Tue, 19 Jan 2038 03:14:07 GMT; Path=/, ys=udn.cDp0ZXN0YXBpMjAxNQ%3D%3D; Domain=.yandex.ru; Path=/, L=Wk9/fwNbZGFaTENBc2xCb3FSelhceVRRNlJGM1g8GFxSVgA=.1430841714.11655.367013.cc3807bc6cc41fd526e73e1738f9b359; Domain=.yandex.ru; expires=Tue, 19 Jan 2038 03:14:07 GMT; Path=/, yandex_login=testapi2015; Domain=.yandex.ru; expires=Tue, 19 Jan 2038 03:14:07 GMT; Path=/, my=YzYBAQA=; Domain=.yandex.ru; expires=Tue, 19 Jan 2038 03:14:07 GMT; Path=/"); |
|||
7
gls
05.05.15
✎
20:38
|
(6) 2. возможно ли передать куки?
в контексте 3. передать их в html-поле. т.е. как вы предлагаете передать не проблема. но это работает для передачи в post или get запросе. а мне надо передать в поле html-документа. смысл всего этого: я программно провожу авторизацию и отображаю страничку в поле html-документа с уже авторизованным пользователем. |
|||
8
trad
06.05.15
✎
09:10
|
(7) могу сильно ошибаться, но мои мысли такие
В поле html работает ie. Скормить ie свои куки возможно и не получится вовсе. Можно попытаться входить в аккаунт прямо в поле html программно вводя логин/пароль и нажимая кнопки. |
|||
9
gls
06.05.15
✎
09:23
|
(8) скорее всего так и сделаю, раз уж по-другому не получается.
|
|||
10
Serginio1
06.05.15
✎
11:11
|
||||
11
trad
06.05.15
✎
11:16
|
(10) это куки полученные в ответе
ТС нужно куки передать в запросе |
|||
12
Поpyчик-4
06.05.15
✎
11:20
|
(0) Узнайте больше о HTTP-запросах и о программной работе с сайтами, требующими авторизацию
http://catalog.mista.ru/public/255881/ |
|||
13
Serginio1
06.05.15
✎
11:37
|
(11) Это свойство как для чтения так и для записи. Просто не через HTTPСоединение а через IE
Например Поле Html документа Поле Html документа |
|||
14
Serginio1
06.05.15
✎
11:38
|
13+ в формировании Html документа может принимать активное участие JS.
|
|||
15
gls
06.05.15
✎
11:55
|
(12) с HTTP запросами работать умею.
сайт, с котрым взаимодействую (яндекс) не дает получить нужную информацию только программно. требуется ручное нажатие на кнопку (по крайней мере это ответ поддержки яндекса). |
|||
16
gls
06.05.15
✎
12:00
|
(13) пыталась записать через:
<CODE>Элементы.АдресСтраницыАутентификации.Документ.Cookie = Ответ.Заголовки["Set-Cookie"];/</CODE> ошибки нет, но куки не передались: <CODE> COOKIE ВАШЕГО БРАУЗЕРА: yp: ys: yandexuid: 3009867011430834664/</CODE> т.е. страница открылась без куков, в новой сессии. |
|||
17
trad
06.05.15
✎
12:06
|
(13) про полеХТМЛдокумента и говорим
что нам дает возможность записывать в свойство Документ.cookie ? Ничего. Нам не надо менять куки уже полученного документа, нам нужно передать куки в запросе к серверу, который выполняется при вызове ПолеHTMLДокумента.Перейти() |
|||
18
gls
06.05.15
✎
12:14
|
(14) не могли бы чуть раскрыть вашу мысль.
сама работала только с HTML-запросами, с 1Сными полями HTML-документов не работала. как к ним прикрутить JS, а еще лучше php? хотя бы ключевые фразы для поиска укажите) вообще задача такова: есть логины - пароли акков войдя в акк надо дать доступ моему приложению и получить токен. если решать на уровне полей html-документов 1С и ручного ввода логина-пароля то задача сводится к необходимости _программно_ выйти из предыдущего акка. |
|||
19
Serginio1
06.05.15
✎
12:34
|
(18) php это сторона сервера. JavaScript может учавствовать для формирования DOM.
Из недавнего Из 1с нажать на кнопку HTML Поле Html документа v8: Парсинг сайта... ПолучитьЭлементПоИдентификатору - как заставить его работать? |
|||
20
Serginio1
06.05.15
✎
12:39
|
||||
21
Serginio1
06.05.15
✎
12:40
|
||||
22
gls
06.05.15
✎
13:39
|
Serginio1, спасибо. буду изучать.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |