一、主要接口
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.
方法: