私はこのウェブサイトにログインしようとしています:http://www.artofproblemsolving.com/Forum/ucp.php?mode=login Python 3.1.3スクリプトを使用しています。私はこのコードを実行するとPython 3.1を使用してログインフォームを送信
import webbrowser
import urllib.request
import cgi
import cgitb
import urllib.parse
import hashlib
import http.cookiejar
p = urllib.parse.urlencode({'username':'MYUSERNAME','password':"MYPASSWORD"})
cj = http.cookiejar.CookieJar()
o = urllib.request.build_opener(urllib.request.HTTPCookieProcessor(cj))
urllib.request.install_opener(o)
f = o.open('http://www.artofproblemsolving.com/Forum/ucp.php?mode=login', p)
data = f.read()
f.close()
htm = open("file1.html", "w")
htm.write(str(data))
htm.close
f = o.open('http://www.artofproblemsolving.com/PAGEFORWHICHLOGINISREQUIRED')
data = f.read()
f.close()
htm = open("file2.html", "w")
htm.write(str(data))
htm.close
print('fin')
しかし、file1.htmlは、ログインフォーム自体(メッセージなし)を含み、file2.htmlページ「あなたがログインしていません」が含まれます。当時、私はこれを持っています。
誰かが私が間違っていることを教えてください。私の無能さを残念に思って、私はむしろPythonの初心者です。前もって感謝します!
P.S. MD5がパスワードをハッシュしているのではないでしょうか?私はhashlibライブラリを使って作業してきましたが、多くの運がなかったのです。このような場合は、パスワードをハッシュする方法を説明してください。
ええ、それは問題でした。ありがとう! – user595531