|
Программно залогиниться на сайте. | ☑ | ||
---|---|---|---|---|
0
unknown181538
24.11.12
✎
05:14
|
Пытаюсь залогиниться. Код украл, т.к. тупой одинесник, и ничего не понимаю в веб делах.
Сайт = Новый COMОбъект("InternetExplorer.Application"); Сайт.Visible = Ложь; Состояние("Подключение к ..."); Сайт.Navigate("http://fx-trend.com/login"); Сайт.Document.Forms(0).elements("myloginbox").Value="****"; Сайт.Document.Forms отображается в отладчике как COMОбъект, а Сайт.Document.Forms(0) уже выдает ошибку. |
|||
1
Wobland
24.11.12
✎
07:13
|
как давно я не получал свежих новостей! спасибо
|
|||
2
unknown181538
24.11.12
✎
07:43
|
(1) Чего?
|
|||
3
YHVVH
24.11.12
✎
07:57
|
(2) ты тупой одинесник, и ничего не понимаешь в веб делах.
|
|||
4
unknown181538
24.11.12
✎
08:19
|
(3) Ты такой же тупой как я, что не можешь сказать ничего по существу?
|
|||
5
YHVVH
24.11.12
✎
10:02
|
сообщить(Сайт.Document.forms.Item(2).elements(0).Name);
сообщить(Сайт.Document.forms.Item(2).elements(0).Value); сообщить(Сайт.Document.forms.Item(2).elements(1).Name); сообщить(Сайт.Document.forms.Item(2).elements(1).Value); |
|||
6
unknown181538
24.11.12
✎
17:32
|
(5) ок
Теперь пытаюсь установить значение: Сайт.Document.forms.Item(2).elements(0).Value = "Unknown181538"; получаю ошибку при получении атрибута контекста (Docemunt) |
|||
7
Jump
24.11.12
✎
18:45
|
(0)А как ты вообще себе это представляешь - "залогинится" ?
Не так то просто все. |
|||
8
unknown181538
24.11.12
✎
18:57
|
(7) ОК. А как тогда следует подключаться к сайту с авторизацией, чтобы стянуть с него страницу. Вроде тут были примеры, где люди делали что-то подобное таким образом.
|
|||
9
Jump
24.11.12
✎
19:36
|
(8)Очень зависит от того какая там авторизация. Стопроцентно универсального совета нет.
Как правило кукисы в большинстве случаев. А ты с кукисами насколько видно из (0)даже не пытался работать. |
|||
10
unknown181538
24.11.12
✎
20:23
|
(9) От блин, боюсь придется кого-то привлечь... А че-нить почитать по теме посоветуешь?
|
|||
11
unknown181538
24.11.12
✎
23:57
|
Типа up... вдруг еще кто что скажет.
|
|||
12
zladenuw
25.11.12
✎
03:42
|
а так ?
Док = ЭлементыФормы.ПолеHTMLДокумента1.Документ; Попытка Form1 = Док.forms["Form1"].document; Form1.GetElementById("Utente").value = Логин;; Form1.GetElementById("Passw").value = Пароль; Исключение КонецПопытки; |
|||
13
unknown181538
25.11.12
✎
04:20
|
(12) Поле объекта не обнаружено Fom1.
На другом форуме спец по вебу немного мне помог, глянул, что в сниффере на сервер отправляется: "Request POST //login//my/profile/info/ HTTP/1.1 Accept text/html, application/xhtml+xml, */* Referer https://fx-trend.com//login//myaccount Accept-Language en-US User-Agent Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0) Content-Type application/x-www-form-urlencoded Accept-Encoding gzip, deflate Host fx-trend.com Content-Length 25 Connection Keep-Alive Cache-Control no-cache Cookie PHPSESSID=60m7rjl9bedbuu8eg5403lbfb5; lang=ru; branch=1; __utma=219800142.1893725394.1353796129.1353796129.1353796129.1; __utmb=219800142.4.10.1353796129; __utmc=219800142; __utmz=219800142.1353796129.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none) login=jjjjjjjjjj&pass=jjjjjjjjjjjj" Сейчас код в состоянии: ХТТП = Новый HTTPСоединение("fx-trend.com",,"Unknown181538","gr181538GR"); СоотвЗаголовки = Новый Соответствие; СоотвЗаголовки.Вставить("login","Unknown181538"); СоотвЗаголовки.Вставить("pass","****"); ХТТП.Получить("Request POST //login//my/profile/info/ HTTP/1.1 |Accept text/html, application/xhtml+xml, */* |Referer https://fx-trend.com//login//myaccount |Accept-Language en-US |User-Agent Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0) |Content-Type application/x-www-form-urlencoded |Accept-Encoding gzip, deflate |Host fx-trend.com |Content-Length 25 |Connection Keep-Alive |Cache-Control no-cache |Cookie PHPSESSID=60m7rjl9bedbuu8eg5403lbfb5; lang=ru; branch=1; __utma=219800142.1893725394.1353796129.1353796129.1353796129.1; __utmb=219800142.4.10.1353796129; __utmc=219800142; __utmz=219800142.1353796129.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none) |","C:\temp\12389.html"); // |" Но возвращает опять страницу, как будто я не авторизовался. Не понимаю, куда логин/пароль пихать - то ли как есть оставить, то ли в заголовки. При этом в СП написано, в третий параметр(заголовки) передается строка, а все пишут, что передают соответствие. |
|||
14
unknown181538
25.11.12
✎
04:21
|
(13) блин... ну спалил пароль) не надо пытаться ничего украсть, все равно не получится:)
|
|||
15
ЧеловекДуши
25.11.12
✎
07:52
|
(14)Да кому ты нужен...
Интересно, а сайт то в Швеции :) |
|||
16
Мизантроп
25.11.12
✎
08:31
|
(15)
> Интересно, а сайт то в Швеции :) что в этом интересного? |
|||
17
unknown181538
25.11.12
✎
10:55
|
(15) там 1,5 куска баксов)
|
|||
18
Wobland
25.11.12
✎
10:58
|
(17) пароль уже сменил или старый подходит ещё?
|
|||
19
Wobland
25.11.12
✎
11:04
|
баланс 15.81.. да кому ты нужен ;)
|
|||
20
unknown181538
25.11.12
✎
11:36
|
(19) это свободные - остальное инвестировано)
ХТТП = Новый HTTPСоединение("fx-trend.com",,"Unknown181538","gr181538GR",,Истина); ТекстИсточника = "Request POST //login//my/profile/info/ HTTP/1.1 |Accept text/html, application/xhtml+xml, */* |Referer https://fx-trend.com//login//myaccount |Accept-Language en-US |User-Agent Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0) |Content-Type application/x-www-form-urlencoded |Accept-Encoding gzip, deflate |Host fx-trend.com |Content-Length 25 |Connection Keep-Alive |Cache-Control no-cache |Cookie PHPSESSID=60m7rjl9bedbuu8eg5403lbfb5; lang=ru; branch=1; __utma=219800142.1893725394.1353796129.1353796129.1353796129.1; __utmb=219800142.4.10.1353796129; __utmc=219800142; __utmz=219800142.1353796129.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none) | |login=Unknown181538&pass=gr181538GR"; ТекстД = Новый ТекстовыйДокумент; ТекстД.ДобавитьСтроку(ТекстИсточника); ТекстД.Записать("C:\temp\fxt.html"); ХТТП.ОтправитьДляОбработки("C:\temp\fxt.html","https://fx-trend.com/login/","C:\temp\fxt_output.html"); // |" ХТТП.Получить("http://fx-trend.com/my/pamm_investor/accounts/details/12557","C:\temp\result.html"); Сейчас вот так... но все равно ничего не получается. Это нормально, что "C:\temp\fxt_output.html" пустой? Говорят, куки надо как-то отправлять при каждом обращении. О чем речь? |
|||
21
unknown181538
25.11.12
✎
11:38
|
(19) Кстати, памм счета - хороший инструмент инвестирования - присоединяйтесь:)
|
|||
22
Infsams654
25.11.12
✎
11:42
|
(0) а нафига тебе COMОбъект("InternetExplorer.Application") ?
Работай сразу по HTTPСоединение или через com для http |
|||
23
unknown181538
25.11.12
✎
11:44
|
(22) Читай ниже. Переделал уже...
|
|||
24
Infsams654
25.11.12
✎
11:51
|
(23) берешь из ответа "Cookie" и делай что хочешь
|
|||
25
Jump
25.11.12
✎
15:49
|
(20)"Говорят, куки надо как-то отправлять при каждом обращении. О чем речь?" - Все просто.
Как работает веб сервер знаешь? Работает он по принципу вопрос- ответ. Т.е ты подключился, он тебе страницу отдал, и забыл про тебя. Если ты авторизировался, то он отдал тебе страничку, с фразой, что ты авторизировался, и снова забыл про тебя. Опять к нему подключишься, он опять будет тебя считать неавторизированным пользователем. Но если в твоем запросе к серверу будет кукис, подтверждающий то, что ты авторизировался, тогда он будет считать тебя авторизированным пользователем. |
|||
26
unknown181538
25.11.12
✎
19:58
|
Ответ должен приходить в файл, который указан третим параметром процедуры ОтправитьДляОбработки() ?
|
|||
27
unknown181538
25.11.12
✎
20:02
|
Не, ну на мисте должен был обязательно найтись какой-нибудь дебил! Очень смешно!
|
|||
28
unknown181538
25.11.12
✎
20:05
|
1Cники, наверное, и в лифтах писают, и лампочки бьют.
|
|||
29
oleg_km
25.11.12
✎
20:16
|
Вот это:
ХТТП.Получить("http://fx-trend.com/my/pamm_investor/accounts/details/12557" Должно быть так: ХТТП.Получить("my/pamm_investor/accounts/details/12557" |
|||
30
unknown181538
25.11.12
✎
20:25
|
(29) теперь вообще ничего не возвращает. Но это скорее всего из-за того, что с кукисами я так и не разобрался.
|
|||
31
oleg_km
25.11.12
✎
20:32
|
(30) Кукисы здесь не при чем. Кукисы браузер обрабатывает прозрачно для пользователя. Выложи лог снифера, лучше из-под фидлера (чтобы был только http)
|
|||
32
unknown181538
25.11.12
✎
21:04
|
(31) Объясните мне, в каком окне этого филдера эти логи смотреть? Он меня пугает что-то.
|
|||
33
unknown181538
25.11.12
✎
21:05
|
(31) Выложить лог от ручной авторизации, или лог моего кода?
|
|||
34
oleg_km
25.11.12
✎
21:34
|
(33) вообще всей сессии
|
|||
35
unknown181538
25.11.12
✎
22:26
|
(34) Не понимаю я, где нужный лог смотреть. У меня как раз fiddler 2
|
|||
36
FN
25.11.12
✎
22:52
|
Сайт = Новый COMОбъект("InternetExplorer.Application");
Сайт.Visible = Ложь; Состояние("Подключение к ..."); Сайт.Navigate("http://fx-trend.com/login"); Пока (Сайт.readyState<4) или (Сайт.Busy=-1) Цикл Состояние("Идет загрузка"); КонецЦикла Сайт.Document.GetElementById("login").value = Логин;; Сайт.Document.GetElementById("pass").value = Пароль; Сайт.Submit(); Пока (Сайт.readyState<4) или (Сайт.Busy=-1) Цикл Состояние("Идет загрузка"); КонецЦикла теперь ты авторизирован |
|||
37
unknown181538
25.11.12
✎
23:08
|
(36) ох ты блин же.. кто-то говорит, через НТТПСоединение надо, кто-то опять ие рисует. А мне кажется, что видел я этот код.
|
|||
38
unknown181538
25.11.12
✎
23:19
|
(36) Сайт.Document.GetElementById("login") возвращает null
|
|||
39
FN
25.11.12
✎
23:20
|
(38) упс... сейчас поправим
|
|||
40
unknown181538
25.11.12
✎
23:21
|
(39) а (5),(6)смотрели? через ие тож что-то не получилось.
|
|||
41
FN
25.11.12
✎
23:27
|
IE.Document.Forms(1).elements("login").Value=Логин
IE.Document.Forms(1).elements("pass").Value=Пароль |
|||
42
FN
25.11.12
✎
23:28
|
или
IE.Document.Forms(2).elements("login").Value=Логин IE.Document.Forms(2).elements("pass").Value=Пароль там на страничке две формы (слева и по центру) |
|||
43
FN
25.11.12
✎
23:56
|
на всякий случай разжую:
Сайт.Document.Forms(2).elements("login").Value="Unknown181538"; Сайт.Document.Forms(2).elements("pass").Value="gr181538GR"; Сайт.Document.Forms(2).Submit(); Пока (Сайт.readyState<4) или (Сайт.Busy=-1) Цикл Состояние("Идет загрузка"); КонецЦикла Теперь можешь лазить по страничкам уже авторизированным. ЗЫ если использовать АктивИкс на форме вместо СОМ-ИЕ - будет гораздо удобнее. |
|||
44
unknown181538
26.11.12
✎
01:16
|
Сайт = Новый COMОбъект("InternetExplorer.Application");
Сайт.Visible = Ложь; Состояние("Подключение к ..."); Сайт.Navigate("http://fx-trend.com/login"); Пока (Сайт.readyState<4) или (Сайт.Busy=-1) Цикл Состояние("Идет загрузка"); КонецЦикла; Сайт.Document.Forms(2).elements("login").Value="Unknown181538"; Сайт.Document.Forms(2).elements("pass").Value="***"; Сайт.Document.Forms(2).Submit(); Пока (Сайт.readyState<4) или (Сайт.Busy=-1) Цикл Состояние("Идет загрузка"); КонецЦикла; Метод объекта не обнаружен forms) |
|||
45
Dethmont
26.11.12
✎
02:36
|
Сайт.Document.login_form.elements(0).value
|
|||
46
Dethmont
26.11.12
✎
02:43
|
Сайт.Document.login_form.elements(0).Value = "login"
Сайт.Document.login_form.elements(1).Value = "pass" |
|||
47
Dethmont
26.11.12
✎
02:52
|
Блин уже пароль сменил, я только хотел посмотреть что там есть =(
|
|||
48
unknown181538
26.11.12
✎
02:58
|
(47) я б не против, чтоб ты посмотрел) но нашелся придурок, который потер мои паспортные данные, изменил личную информацию, и сменил пароль. Мне очень жаль осознавать, что это был 1с-ник, вполне вероятно с высшим образованием и возрастом за 20. Наверное, он писает в лифте, и подкладывает своим бухгалтершам жевачки на стул.
На этом сайте я инвестирую в PAMM счета. Что-то вроде доверительного управления с доходностью свыше 50% в год. Если интересно, могу рассказать. |
|||
49
unknown181538
26.11.12
✎
03:23
|
(46) вот это странно.. один раз вроде сработало, а на другой - уже нет...
|
|||
50
unknown181538
26.11.12
✎
04:27
|
Да, если кто возьмется решить проблему за умеренное вознаграждение озвучьте ценник :)
|
|||
51
alexhtn
26.11.12
✎
12:18
|
Когда-то делал бота для игры. Может поможет.
ПерейтиНаСтраницу("about:blank"); ПерейтиНаСтраницу(Мир.УРЛ_Игры); Если Найти(ЭлементыФормы.ПолеHTML.Документ.Body.innerText, Мир.ТекстЛогин) = 0 Тогда Иначе ЭлементыФормы.ПолеHTML.Документ.all.user.value = Мир.Логин; ЭлементыФормы.ПолеHTML.Документ.all.password.value = Мир.Пароль; Для т = 1 По ЭлементыФормы.ПолеHTML.Документ.links.length Цикл Если ЭлементыФормы.ПолеHTML.Документ.links.item(т).className = "login_button" Тогда ЭлементыФормы.ПолеHTML.Документ.links.item(т).Click(); Прервать; КонецЕсли; КонецЦикла; КонецЕсли; глПауза(1000); Для т = 1 По ЭлементыФормы.ПолеHTML.Документ.links.length Цикл Если ЭлементыФормы.ПолеHTML.Документ.links.item(т).innerText = Мир.ИмяКнопки Тогда ЭлементыФормы.ПолеHTML.Документ.links.item(т).Click(); Прервать; КонецЕсли; КонецЦикла; ОжиданиеЗагрузки(Мир.УРЛ); |
|||
52
FN
26.11.12
✎
12:29
|
(50) код из (43) у меня отлично отрабатывает (в смысле ругается на "Пользователь с данным логином и паролем в нашей системе не зарегистрирован", что в принципе логично)
Пересмотри внимательно свой код. |
|||
53
Vladal
26.11.12
✎
12:32
|
(10) Почитать по теме - Стас Михайлов "Системное программирование в 1С:Прелприятии 7.7 и 8.0"
|
|||
54
unknown181538
26.11.12
✎
14:21
|
(53) а мысль неплохая. Что-то я про него не подумал сразу.
|
|||
55
Vladal
26.11.12
✎
15:40
|
(54) Там в первой-второй главе разбирается работа с браузеро (IE), вход на форум и т.д.
|
|||
56
Jump
27.11.12
✎
07:36
|
(54)При таком способе у тебя будет открываться браузер, и страничка в нем. Если это не мешает, то вполне вариант.
Хотя красивее взять готовую библиотеку для работы с вебом, из какого - нибудь языка, и работать с ней. |
|||
57
unknown181538
27.11.12
✎
13:27
|
(56) Мне прислали скрипт на питоне. Возможно его использую, но в нем еще надо разобраться, и разобраться, как прикрутить...
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |