2010-12-12 6 views
2

私はmegauploadにログインするために次のコードを使用しようとしています。私の質問は、どうすればそれが正常にログインしたのですか?コードの最後に現在のURLを表示しますが、スクリプトを実行するとwww.megaupload.comが返されます。megauploadにログインするにはmechanizeを使用してください

import mechanize 
import cookielib 
from BeautifulSoup import BeautifulSoup 
import html2text 

# Browser 
br = mechanize.Browser() 

# Cookie Jar 
cj = cookielib.LWPCookieJar() 
br.set_cookiejar(cj) 

# Browser options 
br.set_handle_equiv(True) 
br.set_handle_gzip(True) 
br.set_handle_redirect(True) 
br.set_handle_referer(True) 
br.set_handle_robots(False) 

# Follows refresh 0 but not hangs on refresh > 0 
br.set_handle_refresh(mechanize._http.HTTPRefreshProcessor(), max_time=1) 

# User-Agent (this is cheating, ok?) 
br.addheaders = [('User-agent', 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008071615 Fedora/3.0.1-1.fc9 Firefox/3.0.1')] 

# The site we will navigate into, handling it's session 
br.open('http://www.megaupload.com/?c=login') 

# Select the first (index zero) form 
br.select_form('loginfrm') 

#User credentials 
br.form['username'] = 'USERNAMEGOESHERE' 
br.form['password'] = 'PASSWORDGOESHERE' 

br.submit() 


#prints out the current log in 
print br.geturl() 

答えて

3

レスポンスボディにエラーメッセージ検索:

"Username and password do not match" in br.response().read() 

それとも、期待クッキーを持っているかどうかを確認(簡単な例、必要に応じて微調整):

any(c.domain == ".megaupload.com" and c.name == "user" for c in cj) 
+0

おかげで、私は実際に「ようこそユーザー名」を確認できました。私はあなたにupvoteしようとしたが、私は新しいユーザーであり、私はそうする前に "15評判"を要求する。 – ChrisC

+0

@ user520574、回答として選択することはできませんか?まあ、気にしないでください。 – tokland

+0

私は答えとしてそれを選択することができました、私は前にそのオプションを見ていませんでした。再度、感謝します。 – ChrisC

関連する問題