fro*_*die 5 python authentication rest web-services http-post
我有以下简单的Python代码,它向REST服务发出简单的发布请求 -
params= { "param1" : param1,
"param2" : param2,
"param3" : param3 }
xmlResults = urllib.urlopen(MY_APP_PATH, urllib.urlencode(params)).read()
results = MyResponseParser.parse(xmlResults)
Run Code Online (Sandbox Code Playgroud)
问题是用于调用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)
Run Code Online (Sandbox Code Playgroud)
如果没有,请使用mechanize或cookielib另外请求登录.但是,如果您访问的服务具有XML API,则此API也必定包含auth.
2016编辑:无论如何,请使用请求库!它通过一次通话提供上述所有功能.
| 归档时间: |
|
| 查看次数: |
11108 次 |
| 最近记录: |