codecamp

Requests 定制请求头

如果你想为请求添加 HTTP 头部,只要简单地传递一个 dict 给 ​headers​ 参数就可以了。

例如,在前一个示例中我们没有指定 content-type:

>>> url = 'https://api.github.com/some/endpoint'
>>> headers = {'user-agent': 'my-app/0.0.1'}

>>> r = requests.get(url, headers=headers)

注意: 定制 ​header​ 的优先级低于某些特定的信息源,例如:

  • 如果在 ​.netrc​ 中设置了用户认证信息,使用 headers= 设置的授权就不会生效。而如果设置了 auth= 参数,``.netrc`` 的设置就无效了。
  • 如果被重定向到别的主机,授权 ​header​ 就会被删除。
  • 代理授权 ​header​ 会被 URL 中提供的代理身份覆盖掉。
  • 在我们能判断内容长度的情况下,​header​ 的 ​Content-Length​ 会被改写。

更进一步讲,Requests 不会基于定制 ​header​ 的具体情况改变自己的行为。只不过在最后的请求中,所有的 ​header​ 信息都会被传递进去。

注意: 所有的 ​header​ 值必须是 string、bytestring 或者 unicode。尽管传递 unicode header 也是允许的,但不建议这样做。

Requests 响应内容
Requests POST请求用法
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }