我正在尝试登录 Moodle 网站,但它返回“您尚未登录”页面,这意味着身份验证不成功。我究竟做错了什么?我忘记设置参数了吗?请不要推荐机械化。我想了解它是如何在没有库的情况下工作的。我的代码:
import cookielib, urllib, urllib2, getpass
# not the actual site, but still a Moodle example
theurl = 'https://moodle.pucrs.br/login/index.php'
username= raw_input("\tusername: ")
password= getpass.getpass("\tpassword: ")
passman = urllib2.HTTPPasswordMgrWithDefaultRealm()
passman.add_password(None, theurl, username, password)
cj = cookielib.CookieJar()
opener = urllib2.build_opener(
urllib2.HTTPRedirectHandler(),
urllib2.HTTPBasicAuthHandler(passman),
urllib2.HTTPHandler(debuglevel=0),
urllib2.HTTPSHandler(debuglevel=0),
urllib2.HTTPCookieProcessor(cj),
)
urllib2.install_opener(opener)
# set headers
opener.addheaders = [
('User-agent', ('Mozilla/4.0 (compatible; MSIE 6.0; '
'Windows NT 5.2; .NET CLR 1.1.4322)'))
]
try:
#req = opener.open(theurl, data)
req = opener.open(theurl)
except IOError, e:
print "It looks like the username or password is wrong."
# == test ==
# visit "my courses":
req = opener.open("https://moodle.pucrs.br/my/")
content = ''.join(req.readlines())
print(content)