本文由 大侠(AhcaoZhu)原创,转载请声明。
链接: https://blog.csdn.net/Ahcao2008
一图看懂 requests 模块:用Python编写、供人类使用的HTTP库, 资料整理+笔记(大全)
- 摘要
- 模块图
- 类关系图
- 模块全展开
- 【requests】
- 统计
- 常量
- str
- 模块
- 3 warnings
- 4 urllib3
- 5 requests.compat
- 6 requests.exceptions
- 7 ssl
- 8 logging
- 9 requests.packages
- 10 requests.certs
- 11 requests._internal_utils
- 12 requests.cookies
- 13 requests.structures
- 14 requests.utils
- 15 requests.auth
- 16 requests.hooks
- 17 requests.status_codes
- 18 requests.models
- 19 requests.adapters
- 20 requests.sessions
- 21 requests.api
- 函数
- 22 check_compatibility(urllib3_version, chardet_version, charset_normalizer_version)
- 23 _check_cryptography(cryptography_version)
- 24 delete(url, **kwargs)
- 25 get(url, params=None, **kwargs)
- 26 head(url, **kwargs)
- 27 options(url, **kwargs)
- 28 patch(url, data=None, **kwargs)
- 29 post(url, data=None, json=None, **kwargs)
- 30 put(url, data=None, **kwargs)
- 31 request(method, url, **kwargs)
- 32 session()
- 类
- 33 requests.exceptions.RequestsDependencyWarning
- 34 urllib3.exceptions.DependencyWarning
- 35 logging.NullHandler
- method
- 1 createLock()
- 2 emit()
- 3 handle()
- 36 requests.exceptions.ConnectionError
- 37 requests.exceptions.ConnectTimeout
- 38 requests.exceptions.FileModeWarning
- 39 requests.exceptions.HTTPError
- 40 requests.exceptions.JSONDecodeError
- 41 requests.exceptions.ReadTimeout
- 42 requests.exceptions.RequestException
- 43 requests.exceptions.Timeout
- 44 requests.exceptions.TooManyRedirects
- 45 requests.exceptions.URLRequired
- 46 requests.models.PreparedRequest
- method
- 1 copy(self)
- 2 prepare(
- 3 prepare_auth(self, auth, url="")
- 4 prepare_body(self, data, files, json=None)
- 5 prepare_content_length(self, body)
- 6 prepare_cookies(self, cookies)
- 7 prepare_headers(self, headers)
- 8 prepare_hooks(self, hooks)
- 9 prepare_method(self, method)
- 10 prepare_url(self, url, params)
- 47 requests.models.Request
- method
- 1 prepare(self)
- 48 requests.models.Response
- property
- method
- 9 close(self)
- 10 iter_content(self, chunk_size=1, decode_unicode=False)
- 11 iter_lines(self, chunk_size=ITER_CHUNK_SIZE, decode_unicode=False, delimiter=None)
- 12 json(self, **kwargs)
- 13 raise_for_status(self)
- 49 requests.sessions.Session
- method
- 1 close(self)
- 2 delete(self, url, **kwargs)
- 3 get(self, url, **kwargs)
- 4 get_adapter(self, url)
- 5 head(self, url, **kwargs)
- 6 merge_environment_settings(self, url, proxies, stream, verify, cert)
- 7 mount(self, prefix, adapter)
- 8 options(self, url, **kwargs)
- 9 patch(self, url, data=None, **kwargs)
- 10 post(self, url, data=None, json=None, **kwargs)
- 11 prepare_request(self, request)
- 12 put(self, url, data=None, **kwargs)
- 13 request(
- 14 send(self, request, **kwargs)
- 私有或局部
- 剩余
- 【warnings】
- 【urllib3】
- 【requests.compat】
- 【requests.exceptions】
- 【ssl】
- 【logging】
- 【requests.packages】
- 【requests.certs】
- 【requests._internal_utils】
- 【requests.cookies】
- 【requests.structures】
- 【requests.utils】
- 【requests.auth】
- 【requests.hooks】
- 【requests.status_codes】
- 【requests.models】
- 【requests.adapters】
- 【requests.sessions】
- 【requests.api】
- 【chardet】
- 【sys】
- 【json】
- 【http.cookiejar】
- 【idna】
- 【re】
- 【calendar】
- 【copy】
- 【time】
- 【threading】
- 【codecs】
- 【contextlib】
- 【io】
- 【os】
- 【socket】
- 【struct】
- 【tempfile】
- 【zipfile】
- 【hashlib】
- 【datetime】
- 【encodings】
摘要
全文介绍系统内置 requests 模块、函数、类及类的方法和属性。
它通过代码抓取并经AI智能翻译和人工校对。
是一部不可多得的权威字典类工具书。它是系列集的一部分。后续陆续发布、敬请关注。【原创:AhcaoZhu大侠】
模块图
requests
◆warnings
◆urllib3
requests.compat
◆chardet
◆sys
◆json
◆http.cookiejar
requests.exceptions
◆ssl
◆logging
requests.packages
◆idna
requests.certs
requests._internal_utils
◆re
requests.cookies
◆calendar
◆copy
◆time
◆threading
requests.structures
requests.utils
◆codecs
◆contextlib
◆io
◆os
◆socket
◆struct
◆tempfile
◆zipfile
requests.auth
◆hashlib
requests.hooks
requests.status_codes
requests.models
◆datetime
◆encodings
requests.adapters
requests.sessions
requests.api
类关系图
◆object
◆BaseException
◆Exception
◆OSError
requests.exceptions.RequestException
requests.exceptions.ChunkedEncodingError
requests.exceptions.ConnectionError
requests.exceptions.ConnectTimeout
requests.exceptions.ProxyError
requests.exceptions.SSLError
requests.exceptions.ContentDecodingError
requests.exceptions.HTTPError
requests.exceptions.InvalidHeader
requests.exceptions.InvalidJSONError
requests.exceptions.JSONDecodeError
requests.exceptions.InvalidSchema
requests.exceptions.InvalidURL
requests.exceptions.InvalidProxyURL
requests.exceptions.MissingSchema
requests.exceptions.RetryError
requests.exceptions.StreamConsumedError
requests.exceptions.Timeout
requests.exceptions.ConnectionError
requests.exceptions.ReadTimeout
requests.exceptions.TooManyRedirects
requests.exceptions.URLRequired
requests.exceptions.UnrewindableBodyError
◆RuntimeError
requests.cookies.CookieConflictError
◆Warning
◆DeprecationWarning
requests.exceptions.RequestsWarning
requests.exceptions.FileModeWarning
requests.exceptions.RequestsDependencyWarning
requests.exceptions.RequestsWarning
◆collections.abc.Container
◆collections.abc.Iterable
◆collections.abc.Sized
◆collections.abc.Collection
◆collections.abc.Mapping
◆collections.abc.MutableMapping
◆http.cookiejar.CookieJar
requests.cookies.RequestsCookieJar
requests.structures.CaseInsensitiveDict
◆dict
requests.structures.LookupDict
requests.adapters.BaseAdapter
requests.adapters.HTTPAdapter
requests.auth.AuthBase
requests.auth.HTTPBasicAuth
requests.auth.HTTPProxyAuth
requests.auth.HTTPDigestAuth
requests.cookies.MockRequest
requests.cookies.MockResponse
requests.models.RequestEncodingMixin
requests.models.PreparedRequest
requests.models.RequestHooksMixin
requests.models.Request
requests.models.RequestEncodingMixin
requests.models.Response
requests.sessions.SessionRedirectMixin
requests.sessions.Session
模块全展开
【requests】
requests, fullname=requests, file=requests_init_.py
Requests是一个HTTP库,用Python编写,供人类使用。
基本GET用法:
>>> import requests
>>> r = requests.get('https://www.python.org')
>>> r.status_code
200
>>> b'Python is a programming language' in r.content
True
...或者 POST:
>>> payload = dict(key1='value1', key2='value2')
>>> r = requests.post('https://httpbin.org/post', data=payload)
>>> print(r.text)
{
...
"form": {
"key1": "value1",
"key2": "value2"
},
...
}
支持其他HTTP方法-参见'requests.api'。[完整的文档](https://requests.readthedocs.io)。
版权所有:(c) 2017年由肯尼思·雷茨。
许可: Apache 2.0,详见license。
统计
序号 | 类别 | 数量 |
---|---|---|
1 | int | 1 |
4 | str | 16 |
6 | list | 1 |
8 | dict | 1 |
9 | module | 19 |
10 | class | 17 |
11 | function | 11 |
13 | residual | 3 |
14 | system | 19 |
15 | private | 2 |
16 | all | 69 |
常量
str
1 charset_normalizer_version 3.1.0
2 chardet_version 5.1.0
模块
3 warnings
warnings, fullname=warnings, file=warnings.py
4 urllib3
urllib3, fullname=urllib3, file=urllib3_init_.py
5 requests.compat
compat, fullname=requests.compat, file=requests\compat.py
此模块以前处理过Python 2和Python 3之间的导入兼容性问题。
在下一个主要版本之前,它仍然是向后兼容的。
6 requests.exceptions
exceptions, fullname=requests.exceptions, file=requests\exceptions.py
该模块包含一组请求的异常。
7 ssl
ssl, fullname=ssl, file=ssl.py
8 logging
logging, fullname=logging, file=logging_init_.py
9 requests.packages
packages, fullname=requests.packages, file=requests\packages.py
10 requests.certs
certs, fullname=requests.certs, file=requests\certs.py
该模块返回首选的默认CA证书包。
只有一个——证书包里的那个。
如果您正在打包请求,例如,针对Linux发行版或托管环境,您可以更改where()的定义,以返回单独打包的CA bundle。
11 requests._internal_utils
_internal_utils, fullname=requests._internal_utils, file=requests_internal_utils.py
提供由请求在内部使用的实用程序函数,这些请求依赖于极少的外部帮助程序(如compat)。
12 requests.cookies
cookies, fullname=requests.cookies, file=requests\cookies.py
兼容性代码,以便能够使用 `cookielib.CookieJar` 的请求。
requests.utils 从这里导入,所以要小心导入。
13 requests.structures
structures, fullname=requests.structures, file=requests\structures.py
驱动请求的数据结构。
14 requests.utils
utils, fullname=requests.utils, file=requests\utils.py
此模块提供了在请求中使用的实用函数,这些函数对于外部消费也很有用。
15 requests.auth
auth, fullname=requests.auth, file=requests\auth.py
此模块包含请求的身份验证处理程序。
16 requests.hooks
hooks, fullname=requests.hooks, file=requests\hooks.py
该模块提供了请求钩子系统的功能。
有效的 hooks:
``response``:
从请求中生成的响应。
17 requests.status_codes
status_codes, fullname=requests.status_codes, file=requests\status_codes.py
状态码``codes``对象定义了从HTTP状态的通用名称到它们的数字代码的映射,这些数字代码可以作为属性或字典项访问。
举例:
>>> import requests
>>> requests.codes['temporary_redirect']
307
>>> requests.codes.teapot
418
>>> requests.codes['\o/']
200
有些代码有多个名称,并且名称的大写和小写版本都是允许的。例如,``codes.ok``, ``codes.OK``, 和``codes.okay``,均对应于HTTP状态码200。
* 100: ``continue``
* 101: ``switching_protocols``
* 102: ``processing``
* 103: ``checkpoint``
* 122: ``uri_too_long``, ``request_uri_too_long``
* 200: ``ok``, ``okay``, ``all_ok``, ``all_okay``, ``all_good``, ``\o/``, ``✓``
* 201: ``created``
* 202: ``accepted``
* 203: ``non_authoritative_info``, ``non_authoritative_information``
* 204: ``no_content``
* 205: ``reset_content``, ``reset``
* 206: ``partial_content``, ``partial``
* 207: ``multi_status``, ``multiple_status``, ``multi_stati``, ``multiple_stati``
* 208: ``already_reported``
* 226: ``im_used``
* 300: ``multiple_choices``
* 301: ``moved_permanently``, ``moved``, ``\o-``
* 302: ``found``
* 303: ``see_other``, ``other``
* 304: ``not_modified``
* 305: ``use_proxy``
* 306: ``switch_proxy``
* 307: ``temporary_redirect``, ``temporary_moved``, ``temporary``
* 308: ``permanent_redirect``, ``resume_incomplete``, ``resume``
* 400: ``bad_request``, ``bad``
* 401: ``unauthorized``
* 402: ``payment_required``, ``payment``
* 403: ``forbidden``
* 404: ``not_found``, ``-o-``
* 405: ``method_not_allowed``, ``not_allowed``
* 406: ``not_acceptable``
* 407: ``proxy_authentication_required``, ``proxy_auth``, ``proxy_authentication``
* 408: ``request_timeout``, ``timeout``
* 409: ``conflict``
* 410: ``gone``
* 411: ``length_required``
* 412: ``precondition_failed``, ``precondition``
* 413: ``request_entity_too_large``
* 414: ``request_uri_too_large``
* 415: ``unsupported_media_type``, ``unsupported_media``, ``media_type``
* 416: ``requested_range_not_satisfiable``, ``requested_range``, ``range_not_satisfiable``
* 417: ``expectation_failed``
* 418: ``im_a_teapot``, ``teapot``, ``i_am_a_teapot``
* 421: ``misdirected_request``
* 422: ``unprocessable_entity``, ``unprocessable``
* 423: ``locked``
* 424: ``failed_dependency``, ``dependency``
* 425: ``unordered_collection``, ``unordered``
* 426: ``upgrade_required``, ``upgrade``
* 428: ``precondition_required``, ``precondition``
* 429: ``too_many_requests``, ``too_many``
* 431: ``header_fields_too_large``, ``fields_too_large``
* 444: ``no_response``, ``none``
* 449: ``retry_with``, ``retry``
* 450: ``blocked_by_windows_parental_controls``, ``parental_controls``
* 451: ``unavailable_for_legal_reasons``, ``legal_reasons``
* 499: ``client_closed_request``
* 500: ``internal_server_error``, ``server_error``, ``/o\``, ``✗``
* 501: ``not_implemented``
* 502: ``bad_gateway``
* 503: ``service_unavailable``, ``unavailable``
* 504: ``gateway_timeout``
* 505: ``http_version_not_supported``, ``http_version``
* 506: ``variant_also_negotiates``
* 507: ``insufficient_storage``
* 509: ``bandwidth_limit_exceeded``, ``bandwidth``
* 510: ``not_extended``
* 511: ``network_authentication_required``, ``network_auth``, ``network_authentication``
18 requests.models
models, fullname=requests.models, file=requests\models.py
这个模块包含了支持请求的主要对象。
19 requests.adapters
adapters, fullname=requests.adapters, file=requests\adapters.py
此模块包含请求用于定义和维护连接的传输适配器。
20 requests.sessions
sessions, fullname=requests.sessions, file=requests\sessions.py
这个模块提供了一个Session对象来管理和保存请求(cookie, auth, proxy)之间的设置。
21 requests.api
api, fullname=requests.api, file=requests\api.py
这个模块实现了请求api(Requests API)。
版权:(c) 2012年由肯尼思·雷茨。
许可: Apache2,详见license。
函数
22 check_compatibility(urllib3_version, chardet_version, charset_normalizer_version)
check_compatibility(urllib3_version, chardet_version, charset_normalizer_version), module=requests, line:58 at site-packages\requests_init_.py
23 _check_cryptography(cryptography_version)
check_cryptography(cryptography_version), module=requests, line:89 at site-packages\requests_init.py
24 delete(url, **kwargs)
delete(url, **kwargs), module=requests.api, line:148 at site-packages\requests\api.py
发送一个 DELETE 请求。
:param url: 新的对象:class:`Request` 的 URL。
:param **kwargs: ``request``发生的可选参数。
:return: :class:`Response <Response>` 对象。
:rtype: requests.Response
25 get(url, params=None, **kwargs)
get(url, params=None, **kwargs), module=requests.api, line:62 at site-packages\requests\api.py
发送一个GET请求。
:param url: 新的对象:class:`Request` 的 URL。
:param params: (可选)字典,在对象 :class:`Request` 的查询字符串中发送的元组或字节列表。
:param **kwargs: ``request``发生的可选参数。
:return: 对象:class:`Response <Response>`。
:rtype: requests.Response
26 head(url, **kwargs)
head(url, **kwargs), module=requests.api, line:88 at site-packages\requests\api.py
发送一个HEAD请求。
:param url: 新的对象:class:`Request` 的 URL。
:param **kwargs: ``request``发生的可选参数。
如果没有提供'allow_redirects',它将被设置为'False'(与默认的:meth:'request'行为相反)。
:return: 对象:class:`Response <Response>`
:rtype: requests.Response
27 options(url, **kwargs)
options(url, **kwargs), module=requests.api, line:76 at site-packages\requests\api.py
发送一个OPTIONS请求。
:param url: 新的对象:class:`Request` 的 URL。
:param **kwargs: ``request``发生的可选参数。
:return: 对象:class:`Response <Response>`。
:rtype: requests.Response
28 patch(url, data=None, **kwargs)
patch(url, data=None, **kwargs), module=requests.api, line:133 at site-packages\requests\api.py
发送一个PATCH请求。
:param url: 新的对象:class:`Request` 的 URL。
:param data: (可选) 在对象:class:`Request`的主体中发送的字典、元组列表、字节或类文件对象。
:param json: (可选)在对象:class:`Request`主体中传送的json数据。
:param **kwargs: ``request``发生的可选参数。
:return: 对象:class:`Response <Response>`。
:rtype: requests.Response
29 post(url, data=None, json=None, **kwargs)
post(url, data=None, json=None, **kwargs), module=requests.api, line:103 at site-packages\requests\api.py
发送一个POST请求。
:param url: 新的对象:class:`Request` 的 URL。
:param data: (可选) 在对象:class:`Request`的主体中发送的字典、元组列表、字节或类文件对象。
:param json: (可选)在对象:class:`Request`实体中传送的json数据。
:param **kwargs: ``request``发生的可选参数。
:return: 对象:class:`Response <Response>`。
:rtype: requests.Response
30 put(url, data=None, **kwargs)
put(url, data=None, **kwargs), module=requests.api, line:118 at site-packages\requests\api.py
发送一个PUT请求。
:param url: 新的对象:class:`Request` 的 URL。
:param data: (可选) 在对象:class:`Request`的主体中发送的字典、元组列表、字节或类文件对象。
:param json: (可选)在对象:class:`Request`实体中传送的json数据。
:param **kwargs: ``request``发生的可选参数。
:return: 对象:class:`Response <Response>`。
:rtype: requests.Response
31 request(method, url, **kwargs)
request(method, url, **kwargs), module=requests.api, line:14 at site-packages\requests\api.py
构造并发送一个 :class:`Request <Request>`。
:param method: 新对象:class:`Request`的方法: ``GET``, ``OPTIONS``, ``HEAD``, ``POST``, ``PUT``, ``PATCH``,或 ``DELETE``.
:param url: 新的对象:class:`Request` 的 URL。
:param params: (可选)字典,在对象 :class:`Request` 的查询字符串中发送的元组或字节列表。
:param data: (可选)在对象:class:`Request`的主体中发送的字典、元组列表、字节或类文件对象。
:param json: (可选) 用于附加到请求的主体(如果未指定文件或数据)的json。
:param headers: (可选) 随对象:class:`Request`传送的HTTP头部的字典。
:param cookies: (可选) 随对象:class:`Request`传送的字典或CookieJar对象。
:param files: (可选) 用于多部分编码上传的``'name': file-like-objects``(或``{'name': file-tuple}``)的字典。
``file-tuple``可以是2元组``('filename', fileobj)``, 3元组``('filename', fileobj, 'content_type')``
或者一个4元组``('filename', fileobj, 'content_type', custom_headers)``,其中``'content-type'``是一个字符串,
定义给定文件的内容类型和``custom_headers``一个类似字典的对象,包含额外的头文件,为文件添加。
:param auth: (可选) Auth 元组。启用 Basic/Digest/Custom(基本/摘要/自定义) HTTP 认证。
:param timeout: (可选) 在放弃之前等待服务器发送数据的秒数,作为浮点数,或:ref:'(connect timeout, read timeout) <timeouts> '元组。
:type timeout: float or tuple
:param allow_redirects: (可选) Boolean. Enable/disable GET/OPTIONS/POST/PUT/PATCH/DELETE/HEAD 重定向。 缺省为``True``。
:type allow_redirects: bool
:param proxies: (可选) 字典,映射协议到代理的URL。
:param verify: (可选) 要么是一个布尔值,在这种情况下,它控制我们是否验证服务器的TLS证书;
要么是一个字符串,在这种情况下,它必须是要使用的CA bundle的路径。默认为“True”。
:param stream: (可选) 如果为 ``False``, 响应内容将立即下载。
:param cert: (可选) 如果为String, 指向 ssl 客户认证文件 (.pem)的路径。如果为 Tuple, 则为 ('cert', 'key') 对。
:return: 对象:class:`Response <Response>`。
:rtype: requests.Response
用法::
>>> import requests
>>> req = requests.request('GET', 'https://httpbin.org/get')
>>> req
<Response [200]>
32 session()
session(), module=requests.sessions, line:819 at site-packages\requests\sessions.py
返回 :class:`Session` 用于上下文管理。
此方法自1.0.0版以来已弃用,仅保留用于向后兼容。
新代码应该使用 :class:`~requests.sessions.Session` 创建会话。
这可能会在未来的日期被删除。
:rtype:会话
类
33 requests.exceptions.RequestsDependencyWarning
RequestsDependencyWarning, requests.exceptions.RequestsDependencyWarning, module=requests.exceptions, line:140 at site-packages\requests\exceptions.py
导入的依赖项与预期的版本范围不匹配。
34 urllib3.exceptions.DependencyWarning
DependencyWarning, urllib3.exceptions.DependencyWarning, module=urllib3.exceptions, line:0 at
当尝试导入缺少可选依赖项的模块时被警告。
35 logging.NullHandler
NullHandler, logging.NullHandler, module=logging, line:0 at
这个处理程序什么也不做。
它的目的是用来避免“找不到记录器XXX的处理程序”的一次性警告。
这对于库代码很重要,因为库代码可能包含记录事件的代码。
如果库的用户没有配置日志记录,则可能会产生一次性警告;为了避免这种情况,库开发人员只需要实例化一个NullHandler并将其添加到库模块或包的顶级日志记录器中。
method
1 createLock()
kind=method class=NullHandler objtype=function
2 emit()
kind=method class=NullHandler objtype=function
3 handle()
kind=method class=NullHandler objtype=function
36 requests.exceptions.ConnectionError
ConnectionError, requests.exceptions.ConnectionError, module=requests.exceptions, line:49 at site-packages\requests\exceptions.py
发生连接错误。
37 requests.exceptions.ConnectTimeout
ConnectTimeout, requests.exceptions.ConnectTimeout, module=requests.exceptions, line:70 at site-packages\requests\exceptions.py
尝试连接到远程服务器时,请求超时。
产生此错误的请求可以安全地重试。
38 requests.exceptions.FileModeWarning
FileModeWarning, requests.exceptions.FileModeWarning, module=requests.exceptions, line:136 at site-packages\requests\exceptions.py
文件以文本模式打开,但请求确定了其二进制长度。
39 requests.exceptions.HTTPError
HTTPError, requests.exceptions.HTTPError, module=requests.exceptions, line:45 at site-packages\requests\exceptions.py
发生HTTP错误。
40 requests.exceptions.JSONDecodeError
JSONDecodeError, requests.exceptions.JSONDecodeError, module=requests.exceptions, line:31 at site-packages\requests\exceptions.py
无法将文本解码为json
41 requests.exceptions.ReadTimeout
ReadTimeout, requests.exceptions.ReadTimeout, module=requests.exceptions, line:77 at site-packages\requests\exceptions.py
服务器没有在分配的时间内发送任何数据。
42 requests.exceptions.RequestException
RequestException, requests.exceptions.RequestException, module=requests.exceptions, line:12 at site-packages\requests\exceptions.py
在处理您的请求时发生了一个不明确的异常。
43 requests.exceptions.Timeout
Timeout, requests.exceptions.Timeout, module=requests.exceptions, line:61 at site-packages\requests\exceptions.py
请求超时。
捕获此错误将捕获两个错误:
:exc:`~requests.exceptions.ConnectTimeout`
:exc:`~requests.exceptions.ReadTimeout`
44 requests.exceptions.TooManyRedirects
TooManyRedirects, requests.exceptions.TooManyRedirects, module=requests.exceptions, line:85 at site-packages\requests\exceptions.py
重定向太多。
45 requests.exceptions.URLRequired
URLRequired, requests.exceptions.URLRequired, module=requests.exceptions, line:81 at site-packages\requests\exceptions.py
发出请求需要一个有效的URL。
46 requests.models.PreparedRequest
PreparedRequest, requests.models.PreparedRequest, module=requests.models, line:314 at site-packages\requests\models.py
完全可变的 :class:`PreparedRequest <PreparedRequest>` 对象,包含将被发送到服务器的确切字节。
实例是从:class:'Request <Request>'对象生成的,不应该手动实例化;这样做可能会产生不良影响。
用法::
>>> import requests
>>> req = requests.Request('GET', 'https://httpbin.org/get')
>>> r = req.prepare()
>>> r
<PreparedRequest [GET]>
>>> s = requests.Session()
>>> s.send(r)
<Response [200]>
method
1 copy(self)
kind=method class=PreparedRequest objtype=function line:383 at …\lib\site-packages\requests\models.py
2 prepare(
kind=method class=PreparedRequest objtype=function line:352 at …\lib\site-packages\requests\models.py
用给定的参数准备整个请求。
3 prepare_auth(self, auth, url=“”)
kind=method class=PreparedRequest objtype=function line:589 at …\lib\site-packages\requests\models.py
准备给定的HTTP认证数据。
4 prepare_body(self, data, files, json=None)
kind=method class=PreparedRequest objtype=function line:495 at …\lib\site-packages\requests\models.py
准备给定的HTTP主体数据。
5 prepare_content_length(self, body)
kind=method class=PreparedRequest objtype=function line:573 at …\lib\site-packages\requests\models.py
根据请求方法和正文准备内容长度报头
6 prepare_cookies(self, cookies)
kind=method class=PreparedRequest objtype=function line:611 at …\lib\site-packages\requests\models.py
准备给定的HTTP cookie数据。
这个函数最终使用cookielib从给定的Cookie生成一个``Cookie``标头。
由于cookielib的设计,如果头文件已经存在,将不会重新生成,这意味着该函数在:class:'PreparedRequest <PreparedRequest>'对象的生命周期内只能被调用一次。
任何后续调用``prepare_cookies``将没有实际效果,除非事先删除'Cookie'标头。
7 prepare_headers(self, headers)
kind=method class=PreparedRequest objtype=function line:484 at …\lib\site-packages\requests\models.py
准备给定的HTTP标头。
8 prepare_hooks(self, hooks)
kind=method class=PreparedRequest objtype=function line:631 at …\lib\site-packages\requests\models.py
准备给定的钩子。
9 prepare_method(self, method)
kind=method class=PreparedRequest objtype=function line:394 at …\lib\site-packages\requests\models.py
准备给定的HTTP方法。
10 prepare_url(self, url, params)
kind=method class=PreparedRequest objtype=function line:410 at …\lib\site-packages\requests\models.py
准备给定的HTTP URL。
47 requests.models.Request
Request, requests.models.Request, module=requests.models, line:84 at site-packages\requests\models.py
一个用户创建的:class:`Request <Request>` 对象。
:param method: HTTP method to use.
:param url: URL to send.
:param headers: dictionary of headers to send.
:param files: dictionary of {filename: fileobject} files to multipart upload.
:param data: (可选) 在对象:class:`Request`的主体中发送的字典、元组列表、字节或类文件对象。
如果提供了元组 ``[(key, value)]`` 的字典或列表,则会进行格式编码。
:param json: 用于附加到请求的主体(如果未指定文件或数据)的json。
:param params: URL parameters to append to the URL. If a dictionary or
list of tuples ``[(key, value)]`` is provided, form-encoding will
take place.
:param auth: Auth handler or (user, pass) tuple.
:param cookies: dictionary or CookieJar of cookies to attach to this request.
:param hooks: dictionary of callback hooks, for internal usage.
用法:
>>> import requests
>>> req = requests.Request('GET', 'https://httpbin.org/get')
>>> req.prepare()
<PreparedRequest [GET]>
method
1 prepare(self)
kind=method class=Request objtype=function line:296 at …\lib\site-packages\requests\models.py
构造一个 :class:'PreparedRequest <PreparedRequest>' 用于传输并返回它。
48 requests.models.Response
Response, requests.models.Response, module=requests.models, line:641 at site-packages\requests\models.py
:class:`Response <Response>`对象,它包含服务器对HTTP请求的响应。
property
1 apparent_encoding=<property object at 0x0000022D8E4D32C8> kind:property type:property class:<class ‘requests.models.Response’>
2 content=<property object at 0x0000022D8E4D3458> kind:property type:property class:<class ‘requests.models.Response’>
3 is_permanent_redirect=<property object at 0x0000022D8E4D3368> kind:property type:property class:<class ‘requests.models.Response’>
4 is_redirect=<property object at 0x0000022D8E4D3318> kind:property type:property class:<class ‘requests.models.Response’>
5 links=<property object at 0x0000022D8E4D3408> kind:property type:property class:<class ‘requests.models.Response’>
6 next=<property object at 0x0000022D8E4D33B8> kind:property type:property class:<class ‘requests.models.Response’>
7 ok=<property object at 0x0000022D8E4D31D8> kind:property type:property class:<class ‘requests.models.Response’>
8 text=<property object at 0x0000022D8E4D34A8> kind:property type:property class:<class ‘requests.models.Response’>
method
9 close(self)
kind=method class=Response objtype=function line:1023 at …\lib\site-packages\requests\models.py
将连接释放回池。
一旦调用了此方法,就不能再访问底层的“原始”对象``raw``。
注:通常不需要显式调用
10 iter_content(self, chunk_size=1, decode_unicode=False)
kind=method class=Response objtype=function line:795 at …\lib\site-packages\requests\models.py
迭代响应数据。
当在请求上设置stream=True时,这避免了将内容立即读入内存以进行大型响应。
块大小是应该读入内存的字节数。这并不一定是解码发生时返回的每个项的长度。
chunk_size必须为int或None类型。None值将根据'stream'的值产生不同的作用。
stream=True将在数据到达时读取数据,无论接收到的块大小。
如果stream=False,数据将作为单个块返回。
如果decode_unicode为True,则将根据响应使用最佳可用编码对内容进行解码。
11 iter_lines(self, chunk_size=ITER_CHUNK_SIZE, decode_unicode=False, delimiter=None)
kind=method class=Response objtype=function line:853 at …\lib\site-packages\requests\models.py
在响应数据上迭代,一次一行。当在请求上设置 stream=True时,可以避免在大响应时立即将内容读入内存。
注意:此方法不安全。
12 json(self, **kwargs)
kind=method class=Response objtype=function line:944 at …\lib\site-packages\requests\models.py
返回json编码的响应内容(如果有的话)。
:param \*\*kwargs: ``json.loads``发生所需要的可选参数。
:引发 requests.exceptions.JSONDecodeError: 如果响应主体不包含有效的json。
13 raise_for_status(self)
kind=method class=Response objtype=function line:994 at …\lib\site-packages\requests\models.py
如果发生了,引发 :class:`HTTPError`。
49 requests.sessions.Session
Session, requests.sessions.Session, module=requests.sessions, line:106 at site-packages\requests\sessions.py
请求会话。
提供cookie持久性、连接池和配置。
基本用法::
>>> import requests
>>> s = requests.Session()
>>> s.get('https://httpbin.org/get')
<Response [200]>
或作为上下文管理器:
>>> with requests.Session() as s:
... s.get('https://httpbin.org/get')
<Response [200]>
method
1 close(self)
kind=method class=Session objtype=function line:794 at …\lib\site-packages\requests\sessions.py
关闭所有适配器和会话
2 delete(self, url, **kwargs)
kind=method class=Session objtype=function line:661 at …\lib\site-packages\requests\sessions.py
发送一个DELETE请求。
:param url: 新的对象:class:`Request` 的 URL。
:param **kwargs: ``request``发生的可选参数。
:rtype: requests.Response
3 get(self, url, **kwargs)
kind=method class=Session objtype=function line:591 at …\lib\site-packages\requests\sessions.py
发送一个GET请求。
:param url: 新的对象:class:`Request` 的 URL。
:param **kwargs: ``request``发生的可选参数。
:rtype: requests.Response
4 get_adapter(self, url)
kind=method class=Session objtype=function line:780 at …\lib\site-packages\requests\sessions.py
返回给定URL的适当连接适配器。
:rtype: requests.adapters.BaseAdapter
5 head(self, url, **kwargs)
kind=method class=Session objtype=function line:613 at …\lib\site-packages\requests\sessions.py
发送一个HEAD请求。
:param url: 新的对象:class:`Request` 的 URL。
:param **kwargs: ``request``发生的可选参数。
:rtype: requests.Response
6 merge_environment_settings(self, url, proxies, stream, verify, cert)
kind=method class=Session objtype=function line:749 at …\lib\site-packages\requests\sessions.py
检查环境并将其与某些设置合并。
:rtype: 字典。
7 mount(self, prefix, adapter)
kind=method class=Session objtype=function line:799 at …\lib\site-packages\requests\sessions.py
将连接适配器注册到前缀。
适配器按前缀长度降序排序。
8 options(self, url, **kwargs)
kind=method class=Session objtype=function line:602 at …\lib\site-packages\requests\sessions.py
发送一个OPTIONS请求。
:param url: 新的对象:class:`Request` 的 URL。
:param **kwargs: ``request``发生的可选参数。
:rtype: requests.Response
9 patch(self, url, data=None, **kwargs)
kind=method class=Session objtype=function line:649 at …\lib\site-packages\requests\sessions.py
发送一个PATCH请求。
:param url: 新的对象:class:`Request` 的 URL。
:param data: (可选) 在对象:class:`Request`的主体中发送的字典、元组列表、字节或类文件对象。
:param **kwargs: ``request``发生的可选参数。
:rtype: requests.Response
10 post(self, url, data=None, json=None, **kwargs)
kind=method class=Session objtype=function line:624 at …\lib\site-packages\requests\sessions.py
发送一个POST请求。
:param url: 新的对象:class:`Request` 的 URL。
:param data: (可选) 在对象:class:`Request`的主体中发送的字典、元组列表、字节或类文件对象。
:param json: (可选) 用于附加到请求的主体(如果未指定文件或数据)的json。
:param **kwargs: ``request``发生的可选参数。
:rtype: requests.Response
11 prepare_request(self, request)
kind=method class=Session objtype=function line:457 at …\lib\site-packages\requests\sessions.py
构造一个:class:'PreparedRequest <PreparedRequest>'用于传输并返回它。
:param request: 用此进程的设置准备一个:class:`Request`实例。
:rtype: requests.PreparedRequest
12 put(self, url, data=None, **kwargs)
kind=method class=Session objtype=function line:637 at …\lib\site-packages\requests\sessions.py
发送一个PUT请求。
返回:class:'Response'对象。
:param url: 新的对象:class:`Request` 的 URL。
:param data: (可选) 在对象:class:`Request`的主体中发送的字典、元组列表、字节或类文件对象。
:param **kwargs: ``request``发生的可选参数。
:rtype: requests.Response
13 request(
kind=method class=Session objtype=function line:500 at …lib\site-packages\requests\sessions.py
构造一个 :class:`Request <Request>`,准备并发送。
返回 :class:`Response <Response>` 对象。
:param method: 新的对象:class:`Request`的方法。
:param url: 新的对象:class:`Request` 的 URL。
:param params: (可选)字典,在对象 :class:`Request` 的查询字符串中发送的元组或字节列表。
:param data: (可选) 在对象:class:`Request`的主体中发送的字典、元组列表、字节或类文件对象。
:param json: (可选) 用于附加到请求的主体(如果未指定文件或数据)的json。
:param headers: (可选) :class:`Request`发送的HTTP头的字典。
:param cookies: (可选) 随对象:class:`Request`发送的字典或CookieJar对象。
:param files: (可选) Dictionary of ``'filename': file-like-objects`` for multipart encoding upload.
:param auth: (可选) Auth tuple or callable to enable Basic/Digest/Custom HTTP Auth.
:param timeout: (可选) How long to wait for the server to send data before giving up, as a float, or a :ref:`(connect timeout, read timeout) <timeouts>` tuple.
:type timeout: float or tuple
:param allow_redirects: (可选) Set to True by default.
:type allow_redirects: bool
:param proxies: (可选) Dictionary mapping protocol or protocol and hostname to the URL of the proxy.
:param stream: (可选) whether to immediately download the response content. Defaults to ``False``.
:param verify: (可选) Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use. Defaults to ``True``. When set to ``False``, requests will accept any TLS certificate presented by the server, and will ignore hostname mismatches and/or expired certificates, which will make your application vulnerable to man-in-the-middle (MitM) attacks. Setting verify to ``False`` may be useful during local development or testing.
:param cert: (可选) if String, path to ssl client cert file (.pem). If Tuple, ('cert', 'key') pair.
:rtype: requests.Response
14 send(self, request, **kwargs)
kind=method class=Session objtype=function line:671 at …\lib\site-packages\requests\sessions.py
发送一个给定的preparerequest。
:rtype: requests.Response
私有或局部
50 _check_cryptography <function _check_cryptography at 0x0000022D8DD71288>
51 _internal_utils <module ‘requests._internal_utils’ from ‘…\lib\site-packages\requests\_internal_utils.py’>
剩余
52 loader <_frozen_importlib_external.SourceFileLoader object at 0x0000022D8C319F48>
53 spec ModuleSpec(name=‘requests’, loader=<_frozen_importlib_external.SourceFileLoader object at 0x0000022D8C319F48>, origin=‘…\lib\site-packages\requests\init.py’, submodule_search_locations=[‘…\lib\site-packages\requests’])
54 codes <lookup ‘status_codes’>
【warnings】
warnings, fullname=warnings, file=warnings.py
【urllib3】
urllib3, fullname=urllib3, file=urllib3_init_.py
【requests.compat】
compat, fullname=requests.compat, file=requests\compat.py
【requests.exceptions】
exceptions, fullname=requests.exceptions, file=requests\exceptions.py
【ssl】
ssl, fullname=ssl, file=ssl.py
【logging】
logging, fullname=logging, file=logging_init_.py
【requests.packages】
packages, fullname=requests.packages, file=requests\packages.py
【requests.certs】
certs, fullname=requests.certs, file=requests\certs.py
【requests._internal_utils】
_internal_utils, fullname=requests._internal_utils, file=requests_internal_utils.py
【requests.cookies】
cookies, fullname=requests.cookies, file=requests\cookies.py
【requests.structures】
structures, fullname=requests.structures, file=requests\structures.py
【requests.utils】
utils, fullname=requests.utils, file=requests\utils.py
【requests.auth】
auth, fullname=requests.auth, file=requests\auth.py
【requests.hooks】
hooks, fullname=requests.hooks, file=requests\hooks.py
【requests.status_codes】
status_codes, fullname=requests.status_codes, file=requests\status_codes.py
【requests.models】
models, fullname=requests.models, file=requests\models.py
【requests.adapters】
adapters, fullname=requests.adapters, file=requests\adapters.py
【requests.sessions】
sessions, fullname=requests.sessions, file=requests\sessions.py
【requests.api】
api, fullname=requests.api, file=requests\api.py
【chardet】
chardet, fullname=chardet, file=chardet_init_.py
【sys】
sys, fullname=sys, file=
【json】
json, fullname=json, file=json_init_.py
【http.cookiejar】
cookiejar, fullname=http.cookiejar, file=http\cookiejar.py
web客户端的HTTP cookie处理。
这个模块(现在相当遥远)起源于Gisle Aas的Perl模块HTTP::Cookies,来自libwww-perl库。
这段代码中的文档字符串、注释和调试字符串将HTTP cookie系统的属性称为cookie-attributes,以便将它们与Python属性明显区分开来。
类图(注意BSDDBCookieJar和MSIE*类不是随Python标准库一起发布的,但可以从[链接](http://wwwsearch.sf.net/) )获得
CookieJar____
/ \ \
FileCookieJar \ \
/ | \ \ \
MozillaCookieJar | LWPCookieJar \ \
| | \
| ---MSIEBase | \
| / | | \
| / MSIEDBCookieJar BSDDBCookieJar
|/
MSIECookieJar
【idna】
idna, fullname=idna, file=idna_init_.py
【re】
re, fullname=re, file=re.py
【calendar】
calendar, fullname=calendar, file=calendar.py
【copy】
copy, fullname=copy, file=copy.py
【time】
time, fullname=time, file=
【threading】
threading, fullname=threading, file=threading.py
【codecs】
codecs, fullname=codecs, file=codecs.py
【contextlib】
contextlib, fullname=contextlib, file=contextlib.py
【io】
io, fullname=io, file=io.py
【os】
os, fullname=os, file=os.py
【socket】
socket, fullname=socket, file=socket.py
【struct】
struct, fullname=struct, file=struct.py
【tempfile】
tempfile, fullname=tempfile, file=tempfile.py
【zipfile】
zipfile, fullname=zipfile, file=zipfile.py
【hashlib】
hashlib, fullname=hashlib, file=hashlib.py
【datetime】
datetime, fullname=datetime, file=datetime.py
【encodings】
encodings, fullname=encodings, file=encodings_init_.py
标准Python编码模块存储在这个包目录中。编解码器模块的名称必须与下面的normalize_encoding()函数中定义的规范化编码名称相对应。