我有以下简单的 Python 代码,可以向 REST 服务发出简单的发布请求 -
params= { "param1" : param1,
"param2" : param2,
"param3" : param3 }
xmlResults = urllib.urlopen(MY_APP_PATH, urllib.urlencode(params)).read()
results = MyResponseParser.parse(xmlResults)
问题是用于调用 REST 服务的 URL 现在需要基本身份验证(用户名和密码)。如何尽可能简单地将用户名和密码/基本身份验证合并到此代码中?
如果基本身份验证 = HTTP 身份验证,请使用以下内容:
import urllib
import urllib2
username = 'foo'
password = 'bar'
passman = urllib2.HTTPPasswordMgrWithDefaultRealm()
passman.add_password(None, MY_APP_PATH, username, password)
authhandler = urllib2.HTTPBasicAuthHandler(passman)
opener = urllib2.build_opener(authhandler)
urllib2.install_opener(opener)
params= { "param1" : param1,
"param2" : param2,
"param3" : param3 }
xmlResults = urllib2.urlopen(MY_APP_PATH, urllib.urlencode(params)).read()
results = MyResponseParser.parse(xmlResults)
如果没有,请使用mechanize
or cookielib
但如果您访问的服务有 XML API,那么该 API 肯定也包含身份验证。
2016年编辑:无论如何,使用requests http://docs.python-requests.org/en/latest/图书馆!它在一次调用中提供了上述所有内容。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)