Python 2.2.3 HTTP基本身份验证实现

Python 2.2.3 HTTP基本身份验证实现,python,python-2.2,Python,Python 2.2,我试图在Python 2.2.3中实现HTTP基本身份验证。这是代码: import urllib2 proxyUserName1='<proxyusername>' proxyPassword1='<proxypassword>' realmName1='<realm>' proxyUri1='<uri>' passman=urllib2.HTTPPasswordMgr() passman.add_password(realm=realmNa

我试图在Python 2.2.3中实现HTTP基本身份验证。这是代码:

import urllib2

proxyUserName1='<proxyusername>'
proxyPassword1='<proxypassword>'
realmName1='<realm>'
proxyUri1='<uri>'

passman=urllib2.HTTPPasswordMgr()
passman.add_password(realm=realmName1, uri=proxyUri1, user=proxyUserName1, passwd=proxyPassword1)
auth_handler = urllib2.HTTPBasicAuthHandler(passman)
opener = urllib2.build_opener(auth_handler)
urllib2.install_opener(opener)

# Setting up the request & request parameters
login_url_request = urllib2.Request('<URL To be Accessed>')

# Getting the Response & reading it.
try:
    url_socket_connection = urllib2.urlopen(login_url_request)
except urllib2.URLError, urlerror:
    print ("URL Error Occured:")
    print (urlerror.code)
    print (urlerror.headers)
except urllib2.HTTPError, httperror:
    print ("HTTP Error Occured:")
    print (httperror.code)
    print (httperror.headers)
else:
    login_api_response = str(url_socket_connection.read())
    print (login_api_response)
导入urllib2
proxyUserName1=''
proxyPassword1=“”
realmName1=''
proxyUri1=“”
passman=urllib2.HTTPPasswordMgr()
密码(realm=realmName1,uri=proxyUri1,user=proxyUserName1,passwd=proxyPassword1)
auth_handler=urllib2.HTTPBasicAuthHandler(passman)
opener=urlib2.build\u opener(auth\u处理程序)
urllib2.install_opener(opener)
#设置请求和请求参数
login\u url\u request=urllib2.request(“”)
#获取响应并阅读它。
尝试:
url\u socket\u connection=urllib2.urlopen(登录\u url\u请求)
除urllib2.URLError外,URLError:
打印(“发生URL错误:”)
打印(urlerror.code)
打印(urlerror.headers)
除了urlib2.HTTPError,HTTPError:
打印(“出现HTTP错误:”)
打印(httperror.code)
打印(httperror.headers)
其他:
login\u api\u response=str(url\u socket\u connection.read())
打印(登录\ api \响应)

我总是得到URL错误401。这段代码在Python3.4中运行良好。不幸的是,我需要在Python2.2.3中运行它。有人能告诉我哪里出了问题吗?

更改代码后,它起了作用:

import urllib2
import base64

proxyUserName1='<proxyusername>'
proxyPassword1='<proxypassword>'
realmName1='<realm>'
proxyUri1='<uri>'
base64encodedstring = base64.encodestring('%s:%s' % (proxyUserName1, proxyPassword1)).replace('\n', '')

passman=urllib2.HTTPPasswordMgr()
passman.add_password(realm=realmName1, uri=proxyUri1, user=proxyUserName1, passwd=proxyPassword1)
auth_handler = urllib2.HTTPBasicAuthHandler(passman)
opener = urllib2.build_opener(auth_handler)
urllib2.install_opener(opener)

# Setting up the request & request parameters
login_url_request = urllib2.Request('<URL To be Accessed>')
login_url_request.add_header('Authorization', 'Basic %s' % base64encodedstring)

# Getting the Response & reading it.
try:
    url_socket_connection = urllib2.urlopen(login_url_request)
except urllib2.URLError, urlerror:
    print ("URL Error Occured:")
    print (urlerror.code)
    print (urlerror.headers)
except urllib2.HTTPError, httperror:
    print ("HTTP Error Occured:")
    print (httperror.code)
    print (httperror.headers)
else:
    login_api_response = str(url_socket_connection.read())
    print (login_api_response)
导入urllib2
导入base64
proxyUserName1=''
proxyPassword1=“”
realmName1=''
proxyUri1=“”
base64encodedstring=base64.encodestring(“%s:%s%”(proxyUserName1,proxyPassword1))。替换('\n','')
passman=urllib2.HTTPPasswordMgr()
密码(realm=realmName1,uri=proxyUri1,user=proxyUserName1,passwd=proxyPassword1)
auth_handler=urllib2.HTTPBasicAuthHandler(passman)
opener=urlib2.build\u opener(auth\u处理程序)
urllib2.install_opener(opener)
#设置请求和请求参数
login\u url\u request=urllib2.request(“”)
登录url请求。添加标头('Authorization','Basic%s'%base64encodedstring)
#获取响应并阅读它。
尝试:
url\u socket\u connection=urllib2.urlopen(登录\u url\u请求)
除urllib2.URLError外,URLError:
打印(“发生URL错误:”)
打印(urlerror.code)
打印(urlerror.headers)
除了urlib2.HTTPError,HTTPError:
打印(“出现HTTP错误:”)
打印(httperror.code)
打印(httperror.headers)
其他:
login\u api\u response=str(url\u socket\u connection.read())
打印(登录\ api \响应)

此代码在Python 3中不起作用。。。首先,没有
urllib2
模块,并且
除了
语法错误。