Python: проблемы с прохождением страницы входа на сайт .aspx

Проблема: я просмотрел несколько веб-сайтов/блогов/и т. д., чтобы найти решение, но не нашел того, что искал. Короче говоря, проблема в том, что я хотел бы очистить сайт, но чтобы попасть на этот сайт, мне нужно пройти страницу входа.

Что я сделал: мне удалось использовать urllib2 и httplib, чтобы открыть страницу, но даже после входа в систему (ошибки не отображаются) перенаправление страницы входа, как показано в браузере, не происходит. Мой код не слишком отличался от того, что отображалось здесь: Как использовать Python для входа на веб-страницу и получения файлов cookie для последующего использования? ; за исключением того, что я не использовал файлы cookie.

Что я ищу? Я не совсем уверен, какие поля мне нужно искать, кроме полей «имя пользователя» и «пароль». Что я хотел бы, чтобы сценарий сделал, так это 1) успешно войти на сайт .aspx и отобразить какое-то сообщение о том, что вход был успешным 2) перенаправить на другую страницу после входа в систему, чтобы я мог очистить данные с сайта. 3) Как собрать поля POST/GET любого сайта, чтобы я знал, что передаю/вызываю правильные параметры?

Любая помощь/помощь/советы будут высоко оценены.


person Adil    schedule 15.04.2012    source источник
comment
Используйте некоторые инструменты разработчика, такие как Webdeveloper или Firebug для Firefox, для захвата фактически отправленных данных формы. Повторяйте одни и те же данные. И, конечно же, используйте и храните файлы cookie ;-). Без них следующая веб-страница не имеет представления о предоставленном вам доступе.   -  person Fenikso    schedule 15.04.2012
comment
httplib2 может обрабатывать файлы cookie и все, что работает для вас. Вы можете попробовать http://code.google.com/p/httplib2/.   -  person yo_man    schedule 15.04.2012
comment
Спасибо за ответы. Я хотел бы использовать httplib2 - но я не совсем уверен, работает ли он с Python 2.7.x - я попробую и дам вам знать. Тем временем мне было интересно, что именно мне нужно искать, кроме полей имени пользователя и пароля, при работе со страницей входа. Я имею дело со страницей .aspx, и мне сказали, что есть много «скрытых» полей. Когда я использую Firebug — появляется множество «вещей» — о чем мне следует беспокоиться?   -  person Adil    schedule 15.04.2012
comment
Пример, который вы показали, как раз подходит для этой цели. Без cookies работать не будет. Сначала включите куки и, если это все еще не работает, начните добавлять скрытые поля. Я обычно угадываю, что важно.   -  person Fenikso    schedule 15.04.2012
comment
Фениско, я включил файлы cookie, и он отображает ту же страницу входа. Ниже приведен код для вашей готовой справки: ({'lcLogin$tbUsername' : имя пользователя, 'lcLogin$tbPassword' : пароль, 'lcLogin$lbtnLogin' : 'Enter'}) opener.open('website.net/Dashboard/Login.aspx', login_data) resp = opener.open('website.net/Dashboard/Customer_Monitor.aspx') print resp.read() Не показывает никаких ошибок. Идеи?   -  person Adil    schedule 16.04.2012
comment
Страница входа содержит Javascript, и я думаю, что это может вызывать проблемы. Ниже приведен код: ‹input name=lcLogin$tbUsername type=text id=lcLogin_tbUsername style=width:200px; /›‹span id=lcLogin_rvUsername ›*‹/span› ‹input name=lcLogin$tbPassword type=password id=lcLogin_tbPassword style=width:200px; /›‹span id=lcLogin_rvPassword ‹input type=submit name=lcLogin$lbtnLogin value=Enter onclick=javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(lcLogin$lbtnLogin)) id=lcLogin_lbtnLogin /›   -  person Adil    schedule 16.04.2012
comment
Итак, короче говоря, я имею дело с сайтом входа в систему, который является .aspx, то есть: 1) он имеет дело с _viewstates и т. д. - 2) кнопка отправки имеет javascript 3) Firebug показывает, что есть 2 перенаправления 4) Автоматический вход в систему не похоже, работает, так как после входа в систему все еще отображается страница входа :( Пожалуйста, сообщите   -  person Adil    schedule 17.04.2012
comment
Я так понимаю, ни у кого нет зацепок по этой ситуации?   -  person Adil    schedule 23.04.2012