Я пытался (безуспешно, я мог бы добавить) очистить веб-сайт, созданный с помощью стека Microsoft (ASP.NET, C #, IIS), используя Python и urllib / urllib2.Я также использую cookielib для управления файлами cookie.Потратив долгое время на профилирование сайта в Chrome и изучение заголовков, я не смог найти работающее решение для входа в систему. В настоящее время, пытаясь заставить его работать на самом базовом уровне, яжестко закодированную строку URL со всеми соответствующими данными формы (даже с состоянием просмотра и т. д.).Я также передаю действительные заголовки.
Ответ, который я получаю в настоящее время, гласит:
29 | pageRedirect || /? Aspxerrorpath = / default.aspx |
Я не уверен, как истолковать вышесказанное.Кроме того, я довольно подробно рассмотрел код на стороне клиента, используемый при обработке полей входа в систему.
Вот как это работает: Вы вводите свое имя пользователя / пароль и нажимаете «Логин»кнопка.Нажатие клавиши Enter также имитирует нажатие этой кнопки.Поля ввода не в форме.Вместо этого на указанной кнопке входа в систему есть несколько событий onClick (большинство из которых только для эстетики), но одно из них обрабатывает проверку.Он выполняет некоторые элементарные проверки перед отправкой на серверную часть.Основываясь на веб-ресурсах, он определенно использует .NET AJAX.
При обычном входе на этот сайт вы запрашиваете домиан как POST с данными формы вашего имени пользователя и пароля, между прочим.Затем существует какая-то перезапись или переадресация URL, которая приводит вас к содержательной странице url.com/twitter.При попытке получить прямой доступ к url.com/twitter перенаправляет вас на главную страницу.
Следует отметить, что я решил не указывать этот URL.Я не делаю ничего плохого, просто автоматизирую очень монотонную проверку один раз в разумные промежутки времени (я знаком с сострадательной очисткой экрана).Тем не менее, было бы тривиально связать мою учетную запись StackOverflow с этой учетной записью в том случае, если это не осчастливило владельцев домена.
Мой вопрос: Я имеюВ прошлом я мог успешно входить и автоматизировать сервисы, ни один из которых не был основан на .NET.Есть ли что-то другое, что я должен делать, или, может быть, я что-то упускаю?