Python urllib2登录到minecraft.net [英] Python urllib2 login to minecraft.net
本文介绍了Python urllib2登录到minecraft.net的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我遇到了问题.我正在编写一个简单的脚本来登录minecraft.net,然后列出所有经典服务器.但是,当我运行脚本时,它只是将我重定向回minecraft.net/login.这是我到目前为止的内容:
I got a problem. I am writing a simple script to login to minecraft.net, and then list all classic servers. But when I run my script, it just redirects me back to minecraft.net/login. Here is what I have so far:
import urllib2
import urllib
import re
url = "https://www.minecraft.net/login"
page = urllib2.urlopen(url)
data = page.read()
page.close()
authToken = re.search('name="authenticityToken"[\s]+value="(.+)"', data).group(1)
data_dict = {
"username": "USERNAME",
"password": "PASSWORD",
"remember": "true",
#"redirect": "https://www.minecraft.net",
"authenticityToken": authToken
}
print urllib.urlencode(data_dict)
req = urllib2.Request(url, data=urllib.urlencode(data_dict))
page = urllib2.urlopen(req)
data = page.read()
page.close()
我做错了什么?
推荐答案
您可以添加cookielib模块以登录到您的站点.
You can add cookielib module to login to your site.
#!/usr/bin/python
import urllib, urllib2, cookielib, re
login_url = "https://minecraft.net/login"
cookie = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookie))
respon = opener.open(login_url).read()
authToken = re.search('name="authenticityToken"[\s]+value="(.+)"', respon).group(1)
data_dict = {
"username": "USERNAME",
"password": "PASSWORD",
"remember": "true",
"authenticityToken": authToken
}
login = opener.open(login_url, urllib.urlencode(data_dict))
logged_in = login.read()
if login_url in logged_in:
print 'Login failed'
else:
print 'Login OK'
这篇关于Python urllib2登录到minecraft.net的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文