使用头文件和Python请求库的get方法

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

我喜欢使用它,但我不知道如何向我的get请求添加头文件。帮助吗?

618610 次浏览

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

< p >请求。get(url, params=None, headers=None, cookies=None, auth=None, timeout = None) < / p >

发送GET请求。 返回Response对象

参数:

  • url - url为新的 李Request对象。< / >
  • params -(可选) 要发送的GET参数字典 Request.
  • headers -(可选) 要发送的HTTP报头字典 Request.
  • .
  • cookies -(可选) 对象来发送 李Request。< / >
  • auth -(可选)authbject
  • .启用基本HTTP认证 <李>超时) (可选)描述 .请求超时

根据API,头文件都可以通过requests.get()传入:

import requests
r=requests.get("http://www.example.com/", headers={"Content-Type":"text"})

这个答案教会了我,你可以为整个会话设置头文件:

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。

  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)