python 3 Login form on webpage with urllib and coo

2019-05-25 09:00发布

I've been trying to make a python script login to my reddit account but it doesnt seem to work, could anybody tell me whats wrong with my code? It runs fine it just doesnt login.¨

cj = http.cookiejar.CookieJar()
opener = urllib.request.build_opener(urllib.request.HTTPCookieProcessor(cj))
opener.addheaders = [('User-agent', 'Mozilla/5.0')]
urllib.request.install_opener(opener)
authentication_url = 'https://ssl.reddit.com/post/login'
payload = {
    'op': 'login',
    'user_name': 'username',
    'user_pass': 'password'
}
data = urllib.parse.urlencode(payload)
binary_data = data.encode('UTF-8')
req = urllib.request.Request(authentication_url, binary_data)
resp = urllib.request.urlopen(req)
contents = resp.read()

1条回答
放荡不羁爱自由
2楼-- · 2019-05-25 09:50

The name attribute of the field is sent, not the id:

payload = {
    'op': 'login',
    'user': 'username',
    'passwd': 'password'
}
查看更多
登录 后发表回答