249

所以我最近偶然发现了这个在 Python 中处理 HTTP 请求的优秀库;在这里找到http://docs.python-requests.org/en/latest/index.html

我喜欢使用它,但我不知道如何将标头添加到我的获取请求中。帮助?

4

4 回答 4

430

根据API,标头都可以通过以下方式传入requests.get()

import requests
r=requests.get("http://www.example.com/", headers={"Content-Type":"text"})
于 2011-06-07T04:13:21.110 回答
51

根据您链接的页面上的文档(强调我的),看起来很简单。

requests.get(url, params=None, headers=None, cookies=None, auth=None, timeout=None)

发送 GET 请求。返回Response对象。

参数:

  • url – 新 Request对象的 URL。
  • params –(可选)要使用Request.
  • headers - (可选)要使用Request.
  • cookies –(可选)CookieJar 对象与 Request.
  • auth –(可选)AuthObject 以启用基本 HTTP 身份验证。
  • timeout –(可选)描述请求超时的浮点数。
于 2011-06-07T04:12:49.083 回答
43

这个答案告诉我,您可以为整个会话设置标题:

s = requests.Session()
s.auth = ('user', 'pass')
s.headers.update({'x-test': 'true'})

# both 'x-test' and 'x-test2' are sent
s.get('http://httpbin.org/headers', headers={'x-test2': 'true'})

奖励:会话也处理 cookie。

于 2017-06-19T16:30:52.483 回答
4
  1. 转到http://myhttpheader.com

  2. 复制属性 - 通常是“Accept-Language”和“User-Agent”。

  3. 将它们包装在字典中:

    headers = { 'Accept-Language' : content-copied-from-myhttpheader,
                'User-Agent':content-copied-from-myhttpheader}
    
  4. 在您的请求中传递标头

    requests.get(url=your_url,headers=headers)
    
于 2021-12-19T12:14:06.203 回答