2011-01-31 5 views
0

Я пытаюсь использовать код, который читается в Kent's Korner для проверки подлинности на основе форм. По крайней мере, мне говорят, что веб-сайт, который я пытаюсь прочитать, аутентифицирован на основе форм.Проверка подлинности на основе форм с Python

Но я, похоже, не могу пройти страницу входа. Код я использую

Import urllib, urllib2, cookielib, string 

# configure an opener that will handle cookies 
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor()) 
urllib2.install_opener(opener) 

# use the opener to POST to the login form and the protected page 
params = urllib.urlencode(dict(username='user', password='stuff')) 
f = opener.open('http://www.hammernutrition.com/forums/memberlist.php?mode=viewprofile&u=1323', params) 
data = f.read() 
f.close() 
f = opener.open('http://www.hammernutrition.com/forums/memberlist.php?mode=viewprofile&u=1323') 
data = f.read() 
f.close() 
+0

Возможно, вам придется имитировать кнопку отправки кнопки. – Marco

+0

Вы знаете, как имитировать кнопку отправки в Python? – gciriani

ответ

3

Вы можете имитировать веб-браузер в Python без использования слишком ресурсов с mechanize (Debian/Ubuntu пакет называется python-mechanize). Он обрабатывает как файлы cookie, так и отправляет формы, как это делает веб-браузер, одним из примеров является сценарий Python Dropbox Uploader, который вы можете преобразовать в соответствии с вашими потребностями.