Requests库的开发者接口

一、主要接口

1.1 requests.request(method, url, **kwargs) 

构造并发送一个Request对象,返回一个Response对象。

  • method – 新建 Request 对象要使用的HTTP方法
  • url – 新建 Request 对象的URL
  • params – (可选) Request 对象的查询字符中要发送的字典或字节内容
  • data – (可选) Request 对象的 body 中要包括的字典、字节或类文件数据
  • json – (可选) Request 对象的 body 中要包括的 Json 数据
  • headers – (可选) Request 对象的字典格式的 HTTP 头
  • cookies – (可选) Request 对象的字典或 CookieJar 对象
  • files – (可选) 字典,'name': file-like-objects (或{'name': ('filename', fileobj)}) 用于上传含多个部分的(类)文件对象
  • auth – (可选) Auth tuple to enable Basic/Digest/Custom HTTP Auth.
  • timeout (浮点或元组) – (可选) 等待服务器数据的超时限制,是一个浮点数,或是一个(connect timeout, read timeout) 元组
  • allow_redirects (bool) – (可选) Boolean. True 表示允许跟踪 POST/PUT/DELETE 方法的重定向
  • proxies – (可选) 字典,用于将协议映射为代理的URL
  • verify – (可选) 为 True 时将会验证 SSL 证书,也可以提供一个 CA_BUNDLE 路径
  • stream – (可选) 如果为 False,将会立即下载响应内容
  • cert – (可选) 为字符串时应是 SSL 客户端证书文件的路径(.pem格式),如果是元组,就应该是一个(‘cert’, ‘key’) 二元值对

1.2  requests.head(url, **kwargs)

发送一个 HEAD 请求,返回一个 Response 对象

  • url – 新建 Request 对象的URL
  • **kwargs – 见 request 方法接收的可选参数

1.3  requests.get(url, **kwargs) 

发送一个 GET 请求,返回一个 Response 对象

  • url – 新建 Request 对象的URL
  • **kwargs – 见 request 方法接收的可选参数

1.4  requests.post(url, data=None, **kwargs) 

发送一个 PUT 请求,返回一个 Response 对象

  • url – 新建 Request 对象的URL
  • data – (可选) Request 对象的 body 中要包括的字典、字节或类文件数据
  • **kwargs – 见 request 方法接收的可选参数

1.5  requests.put(url, data=None, **kwargs) 

发送一个 PUT 请求,返回一个 Response 对象

  • url – 新建 Request 对象的URL
  • data – (可选) Request 对象的 body 中要包括的字典、字节或类文件数据
  • **kwargs – 见 request 方法接收的可选参数

1.6  requests.patch(url, data=None, **kwargs) 

 发送一个 PUT 请求,返回一个 Response 对象

  • url – 新建 Request 对象的URL
  • data – (可选) Request 对象的 body 中要包括的字典、字节或类文件数据
  • **kwargs – 见 request 方法接收的可选参数

1.7 requests.delete(url, **kwargs) 

发送一个 PUT 请求,返回一个 Response 对象

  • url – 新建 Request 对象的URL
  • **kwargs – 见 request 方法接收的可选参数

二、异常

exception requests.RequestException     # 处理你的请求时出现了一个有歧义的异常
exception requests.ConnectionError   # 连接异常
exception requests.HTTPError(*args, **kwargs)   # HTTP 错误
exception requests.URLRequired  # 无效的请求 URL
exception requests.TooManyRedirects   # 重定向过多  
exception requests.exceptions.ConnectTimeout(*args, **kwargs)   # 连接到远程服务器时,请求超时
exception requests.exceptions.ReadTimeout(*args, **kwargs)   # 服务器在分配的时间内没有发送任何数据  
exception requests.exceptions.Timeout(*args, **kwargs)  #  请求超时限制

三、Request 对象

requests.Request(method=None, url=None, headers=None, files=None, data={}, params={}, auth=None, cookies=None, hooks=None)

由用户创建的 Request 对象,用来准备一个 PreparedRequest 对象,后者被发给服务器

  • method – 要使用的 HTTP 方法
  • url – 目标 URL
  • headers – 字典,要发送的 HTTP header
  • files – 字典,形式为{filename: fileobject},表示要上传的多个部分
  • data – the body to attach the request. If a dictionary is provided, form-encoding will take place.
  • params – 字典,包含追加到 URL 后的 URL 参数
  • auth – Auth 句柄或 (user, pass) 元组
  • cookies – 附加到这个请求的字典或 CookieJar 对象的cookies
  • hooks – dictionary of callback hooks, for internal usage.

方法:

 

上一篇:CI框架3.x 之隐藏index.php


下一篇:Zabbix+grafana可视化