2010-10-11 3 views
0

I'am глядя на способ ввода веб-сайт «Логин»веб-доступ питона

я попробовал этот

login_form_seq = [ 
     ('user', 'Lick'), 
     ('pass', 'Shot'), 
     ('submit', 'login')] 
A=urllib.urlencode(login_form_seq) 
opener = urllib2.build_opener() 
try: 
site = opener.open('http://www.SMS-Example.com/user.php', A).read() 
site2 = urllib.urlopen('http://www.SMS-Example.com/sms.php').read() 
print site2 
except(urllib2.URLError), msg: 
print msg 
site = "" 
pass 

, но на самом деле то, что я должен поставить на submit и login? Я положил это случайно!

благодаря ...

ответ

2

Это будет зависеть от места к месту и на многих вы даже не нужно значение submit, user/pass должно быть достаточно, а затем и во многих других местах они могут иметь некоторые скрытые поля в форма входа в систему, поэтому лучший способ - увидеть поля в форме, которую вы отправляете либо непосредственно в html, либо с помощью какого-либо инструмента, такого как firebug.

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

Вместо этого вы можете просто использовать twill или mechanize

+0

+1, вам, вероятно, необходимо отслеживать файлы cookie. –

0

Действительно зависит. Обычно программисты отбрасывают значение кнопки отправки, устанавливая ее значение на что-то значимое, но оно не задано в камне. В вашем случае «login» - это имя кнопки управления, «login» - это его значение, и оно будет ярлыком кнопки и будет отброшено с вероятностью 99%.

Смежные вопросы