一图看懂 requests 模块:用Python编写、供人类使用的HTTP库, 资料整理+笔记(大全)

这篇具有很好参考价值的文章主要介绍了一图看懂 requests 模块:用Python编写、供人类使用的HTTP库, 资料整理+笔记(大全)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

本文由 大侠(AhcaoZhu)原创,转载请声明。
链接: https://blog.csdn.net/Ahcao2008

一图看懂 requests 模块:用Python编写、供人类使用的HTTP库, 资料整理+笔记(大全)

摘要

全文介绍系统内置 requests 模块、函数、类及类的方法和属性。
它通过代码抓取并经AI智能翻译和人工校对。
是一部不可多得的权威字典类工具书。它是系列集的一部分。后续陆续发布、敬请关注。【原创:AhcaoZhu大侠】

模块图

一图看懂 requests 模块:用Python编写、供人类使用的HTTP库, 资料整理+笔记(大全)

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

类关系图

一图看懂 requests 模块:用Python编写、供人类使用的HTTP库, 资料整理+笔记(大全)

◆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文章来源地址https://www.toymoban.com/news/detail-459950.html

标准Python编码模块存储在这个包目录中。编解码器模块的名称必须与下面的normalize_encoding()函数中定义的规范化编码名称相对应。

到了这里,关于一图看懂 requests 模块:用Python编写、供人类使用的HTTP库, 资料整理+笔记(大全)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 一图看懂 multidict 模块:类似于字典的键值对集合,键可以多次出现,资料整理+笔记(大全)

    本文由 大侠(AhcaoZhu)原创,转载请声明。 链接: https://blog.csdn.net/Ahcao2008 全文介绍系统内置 multidict 模块(类似于字典的键值对集合,键可以多次出现)、函数、类及类的方法和属性。 它通过代码抓取并经AI智能翻译和人工校对。 是一部不可多得的权威字典类工具书。它是系列集

    2024年02月04日
    浏览(86)
  • 一图看懂6G应用及用例研究

    关注公号回复“220622”下载 《Next G Alliance Report: 6G Applications and Use Cases》原文 下一代通信联盟(Next G Alliance)是由美国电信行业解决方案联盟ATIS(Alliance for Telecommunications Industry Solutions)牵头于2020年10月成立的,由于其主要目的是研究6G所以也被称为美国6G联盟。联盟成员包

    2024年01月19日
    浏览(52)
  • 【一图看懂选择排序】——选择排序和堆排序

    前文知识清单: 直接选择排序通过每一轮的比较,找到最大值和最小值,将最大值的节点跟右边交换,最小值节点跟左边交换,达到排升序的效果。 一图看懂直接选择排序: 每一轮比较都需要遍历数组,查找最大最小值,第一轮遍历N个数据,第二轮是N-2个数据,第三轮N-

    2023年04月15日
    浏览(34)
  • 一图看懂CodeArts Release三大特性,带你玩转发布管理服务

    体验通道 : 发布管理 CodeArts Release-华为云

    2024年02月06日
    浏览(50)
  • 数据中台开源技术栈:一图看懂全面的数据管理与应用架构

          随着数字化时代的到来,数据管理和应用架构变得越来越重要。数据平台作为一个集中管理和利用数据的架构,为组织提供了促进数据驱动决策和业务创新的能力。本文通过一幅图表,将数据平台技术栈的组成部分清晰呈现,助您深入了解数据中台的全面数据管理与应

    2024年04月10日
    浏览(47)
  • 想要成为AIGC工程师, 却不知从哪里开始学习?近屿全新推出一图看懂!

    在这个AI技术飞速发展的时代,在人们常常警惕AI将取代自己的工作的时候,一个另类的说法却悄然流行:“AI不会取代你的工作,会取代你的是掌握了AI技能的人。”这不仅仅是一个警示,更是一个机遇。随着AI工具如ChatGPT、Midjourney、Stable Diffusion(SD)等的普及,掌握AIGC(人

    2024年04月27日
    浏览(50)
  • 通过几张图看懂chatGPT发展史

    ChatGPT 是由 OpenAl 团队研发创造,OpenAl 是由创业家埃隆-马斯克、美国创业孵化器 Y Combinator 总裁阿尔特曼、全球在线支付平台 PayPal 联合创始人彼得-蒂尔等人于 2015 年 在旧金山创立的一家非盈利的 AI 研究公司,拥有多位硅谷重量级人物的资金支持,启动资金 高达 10 亿美金;

    2024年02月11日
    浏览(44)
  • 网络安全——一张图看懂HTTPS建立过程

    · 准备工作(对应图中prepare1234) · 发起链接 · 最后 关于网络安全加密的介绍可以看之前文章: (数据的加密与签名) HTTPS建立过程相当复杂,下图为示意图,可以有整体认识,一般我们编程知道这些已足够。 如果你想仿照HTTPS实现类似加密,可以阅读下具体过程,作为参

    2024年04月12日
    浏览(45)
  • 一张图看懂 USDT三种类型地址 Omni、ERC20、TRC20的区别

    USDT 是当前实用最广泛,市值最高的稳定币,它是中心化的公司Tether发行的。在今年的4月17日之前,市场上存在着2种不同类型的USDT。4月17日又多了一种波场TRC20协议发行的USDT,它们各自有什么区别呢?哪个转账最快到账?哪种最安全?手续费最低? USDT三种链类型Omni、ERC20、

    2024年02月03日
    浏览(48)
  • python使用requests模块请求http接口

    Python requests 是一个常用的 HTTP 请求库,可以方便地向网站发送 HTTP 请求,并获取响应结果。requests 模块比 urllib 模块更简洁。使用 requests 发送 HTTP 请求需要先导入 requests 模块,导入后就可以使用 requests 提供的方法向指定 URL 发送 HTTP 请求。 requests常用参数 参数 说明 method 请

    2024年02月09日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包