「 GoogleAppEngine」からyahoo.comのメールボックスにログインするPythonコードを見つけようとしています 。 ここ(そのページを表示するには、ここをクリックしてください)私はこのコードを与えられました:
import urllib, urllib2, cookielib
url = "https://login.yahoo.com/config/login?"
form_data = {'login' : 'my-login-here', 'passwd' : 'my-password-here'}
jar = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(jar))
form_data = urllib.urlencode(form_data)
# data returned from this pages contains redirection
resp = opener.open(url, form_data)
# yahoo redirects to http://my.yahoo.com, so lets go there instead
resp = opener.open('http://mail.yahoo.com')
print resp.read()
このスクリプトの作成者は、yahooログインフォームのHTMLスクリプトを調べて、このスクリプト を思いつきました。
このログインフォームには、ユーザーのYahoo!用の2つのフィールドが含まれています。IDともう1つはユーザーのパスワード用です。これらの両方のフィールドのそのページのHTMLコードは次のようになります。
ユーザーIDフィールド:
<input type="text" maxlength="96" class="yreg_ipt" size="17" value="" id="username" name="login">
パスワードフィールド:
<input type="password" maxlength="64" class="yreg_ipt" size="17" value="" id="passwd" name="passwd">
ただし、このコードをGoogle App Engineにアップロードしたところ、このログインフォームが繰り返し表示されることがわかりました。これは、ログインプロセスが成功しなかったことを意味していると思います。なんでそうなの?