Управление сайтом SSL с помощью Python - PullRequest
1 голос
/ 26 февраля 2012

Я пытаюсь автоматизировать процесс получения моих текущих студенческих записей в моем колледже. В браузере процесс включает в себя ввод URL-адреса моего колледжа, затем щелчок по ссылке для входа, после чего я перехожу на страницу с URL-адресом https: //, где я ввожу свой пароль и имя пользователя. Затем оттуда остается один или два ссылки и чтение текста на странице. Теперь мой вопрос: как я могу это сделать, но в автоматическом режиме, чтобы мои записи отображались в командной строке. Https: // в URL означает, я думаю, что он использует SSL. Существуют ли определенные библиотеки, которые могут справиться с этим? Кроме того, кнопка «отправить» на странице входа в систему, я уверен, использует JavaScript, опять же, есть библиотеки для этого?

Я уверен, что что-то упустил в описании моего вопроса, поэтому, пожалуйста, спросите, не понимаете ли вы мой вопрос или вам нужна дополнительная информация.

PS. Я не очень разбираюсь в интернет-протоколах, и я также новичок в Python. На самом деле я начал изучать его для этого проекта. Но я свободно говорю на C и довольно хорошо разбираюсь в C ++.

Спасибо заранее. Майкл,

Ответы [ 2 ]

0 голосов
/ 26 февраля 2012

Ответ Романа - хороший совет: вам, как правило, не нужно вести себя как настоящий пользователь, когда ваш скрипт может напрямую вызывать методы HTTP.

Однако, если вы не знакомы с обратным инжинирингом операций HTTP, которыесайт требует, тогда альтернативой будет использование Selenium , инструмент для имитации взаимодействия с веб-страницами.Selenium обычно используется разработчиками веб-приложений для тестирования своих приложений, но также может использоваться в качестве автоматизируемого клиента для существующего веб-сайта.

0 голосов
/ 26 февраля 2012

Вам не нужно имитировать все действия, которые вы делаете в браузере.

Во-первых. Нет проблем с https / ssl, если вам не нужно проверять их (кажется, что вам не нужно), urllib2.urlopen будет обрабатывать их.

Во-вторых. Когда вы нажимаете «Отправить», браузер отправляет запрос на сервер с вашим именем пользователя, паролем и, возможно, некоторыми другими данными. Тип этого запроса, вероятно, POST. В качестве сервера ответов, вероятно, отправит вам cookie с идентификатором сессии. Поэтому все, что вам нужно сделать, это выяснить точный формат запроса к серверу (например, с помощью FireBug) и получить cookie-файл из ответа сервера.

В-третьих. Просто используйте этот файл cookie для навигации по страницам на сайте. Это может помочь.

P.S. Как видите, в ответе слишком много слов «вероятно» - точный процесс аутентификации может отличаться от описанного выше, и вам придется исследовать его самостоятельно.

...