每一个人.我正在开发一个django/mod_wsgi/apache2网站,该网站使用https为所有请求和响应提供敏感信息.如果用户未经过身份验证,则会写入所有视图以进行重定向.它还有几个视图,其功能类似于RESTful Web服务.
我现在正在编写一个脚本,使用urllib/urllib2来联系其中的几个服务,以便下载一系列非常大的文件.我在尝试登录时遇到403:FORBIDDEN错误的问题.
我用于身份验证和登录的(粗略草稿)方法是:
def login( base_address, username=None, password=None ):
# prompt for the username (if needed), password
if username == None:
username = raw_input( 'Username: ' )
if password == None:
password = getpass.getpass( 'Password: ' )
log.info( 'Logging in %s' % username )
# fetch the login page in order to get the csrf token
cookieHandler = urllib2.HTTPCookieProcessor()
opener = urllib2.build_opener( urllib2.HTTPSHandler(), cookieHandler )
urllib2.install_opener( opener )
login_url = base_address + PATH_TO_LOGIN
log.debug( "login_url: " + login_url ) …
Run Code Online (Sandbox Code Playgroud)