use*_*649 6 python python-requests
是否有任何其他优雅的方式为请求添加标头:
import requests
requests.get(url,headers={'Authorization', 'GoogleLogin auth=%s' % authorization_token})
Run Code Online (Sandbox Code Playgroud)
不起作用,而urllib2工作:
import urllib2
request = urllib2.Request('http://maps.google.com/maps/feeds/maps/default/full')
request.add_header('Authorization', 'GoogleLogin auth=%s' % authorization_token)
urllib2.urlopen(request).read()
Run Code Online (Sandbox Code Playgroud)
您可以通过将字典作为参数传递来添加标头.
这应该工作:
requests.get(url,headers={'Authorization': 'GoogleLogin auth=%s' % authorization_token})
Run Code Online (Sandbox Code Playgroud)
为什么你的代码不起作用?
您没有将字典传递给headers参数.您正在根据add_header()
函数中定义的格式传递值.
根据文档,
requests.get(url,params = None,headers = None,cookies = None,auth = None,timeout = None)
headers - (可选)要与请求一起发送的HTTP标头字典.
为什么request.add_header()有效?
您使用request.add_header()
工作添加标头的方式是因为函数在urllib2
模块中定义.
Run Code Online (Sandbox Code Playgroud)Request.add_header(key, val)
它接受两个论点 -
您可以通过headers
关键字传递字典。这在 Python 中非常优雅:-)
headers = {
"header_name": "header_value",
}
requests.get(url, headers=headers)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
17318 次 |
最近记录: |