Механизировать, не входя на сайт должным образом - PullRequest
0 голосов
/ 08 марта 2011

Проведя лучшую часть 3 часов в одиночестве, я подумал, что сам задам вопрос.Я использую Python и mechanize Browser.Я пытаюсь войти в свой домашний маршрутизатор.я могу попасть на страницу входа в систему, заполнить поле пароля (например, br.form['password'] = 'mypassword' и т. д.), но теперь я застрял, потому что, что бы я ни пытался, меня всегда отправляют на страницу с сообщением, что я запрещен / время сеанса истеклообрабатывая куки с помощью баночки печенья, я работал с роботами, но он по-прежнему не любит меня настолько, чтобы позволить мне войти в систему .... помочь?если у вас есть какие-либо предложения относительно того, почему я не могу войти в систему, пожалуйста, пожалуйста, поделитесь xxx

РЕДАКТИРОВАТЬ:

он имеет JavaScript, но я имитируюэто

**EDIT2:**

я только что понял, что javascript, который я имитирую, предназначен для нажатия кнопки отключения на предыдущей странице ...... возможно, решу мою проблему, если я эмулирую javascript для этой страницы ......

я подделываю пользовательский агент

я посмотрю с wireshark xxx

ps спасибо за быстрый ответ xx

ОБНОВЛЕНИЕвздохя думаю, что это может быть просто одна из тех вещей, когда вы просто должны сказать это и двигаться дальше, потому что я эмулирую необходимый ему javascript именно так, как это делается (просто проверка, MD5 == hashlib.md5 ("...") .hexdigest ()?) .... спасибо, все равно люди ххх

Ответы [ 3 ]

0 голосов
/ 09 марта 2011

Вы уверены, что на странице нет Javascript, манипулирующих файлами cookie или другими заголовками?

У меня были такие проблемы с некоторыми (конечно, не с Web 2.0 :-) веб-сайтами, и мне пришлось как-то анализировать и эмулировать эти скрипты ...: -q

0 голосов
/ 09 марта 2011

Поскольку вам приходится иметь дело с Javascript, я бы попробовал использовать WebDriver . У него есть привязки Python, и его не так сложно использовать.

0 голосов
/ 08 марта 2011

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

import mechanize

cookies = mechanize.CookieJar()
opener = mechanize.build_opener(mechanize.HTTPCookieProcessor(cookies))
opener.addheaders = [("User-agent", "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6; en-us) AppleWebKit/533.4 (KHTML, like Gecko) Version/4.1 Safari/533.4"),]
mechanize.install_opener(opener)

url = "http://your_home_router_address"
content = mechanize.urlopen(url)
return content.read()
...