本文由 大俠(AhcaoZhu)原創(chuàng),轉(zhuǎn)載請(qǐng)聲明。
鏈接: https://blog.csdn.net/Ahcao2008
摘要
全文介紹系統(tǒng)內(nèi)置 requests 模塊、函數(shù)、類(lèi)及類(lèi)的方法和屬性。
它通過(guò)代碼抓取并經(jīng)AI智能翻譯和人工校對(duì)。
是一部不可多得的權(quán)威字典類(lèi)工具書(shū)。它是系列集的一部分。后續(xù)陸續(xù)發(fā)布、敬請(qǐng)關(guān)注。【原創(chuàng):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
類(lèi)關(guān)系圖
◆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
模塊全展開(kāi)
【requests】
requests, fullname=requests, file=requests_init_.py
Requests是一個(gè)HTTP庫(kù),用Python編寫(xiě),供人類(lèi)使用。
基本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方法-參見(jiàn)'requests.api'。[完整的文檔](https://requests.readthedocs.io)。
版權(quán)所有:(c) 2017年由肯尼思·雷茨。
許可: Apache 2.0,詳見(jiàn)license。
統(tǒng)計(jì)
序號(hào) | 類(lèi)別 | 數(shù)量 |
---|---|---|
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
此模塊以前處理過(guò)Python 2和Python 3之間的導(dǎo)入兼容性問(wèn)題。
在下一個(gè)主要版本之前,它仍然是向后兼容的。
6 requests.exceptions
exceptions, fullname=requests.exceptions, file=requests\exceptions.py
該模塊包含一組請(qǐng)求的異常。
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
該模塊返回首選的默認(rèn)CA證書(shū)包。
只有一個(gè)——證書(shū)包里的那個(gè)。
如果您正在打包請(qǐng)求,例如,針對(duì)Linux發(fā)行版或托管環(huán)境,您可以更改where()的定義,以返回單獨(dú)打包的CA bundle。
11 requests._internal_utils
_internal_utils, fullname=requests._internal_utils, file=requests_internal_utils.py
提供由請(qǐng)求在內(nèi)部使用的實(shí)用程序函數(shù),這些請(qǐng)求依賴(lài)于極少的外部幫助程序(如compat)。
12 requests.cookies
cookies, fullname=requests.cookies, file=requests\cookies.py
兼容性代碼,以便能夠使用 `cookielib.CookieJar` 的請(qǐng)求。
requests.utils 從這里導(dǎo)入,所以要小心導(dǎo)入。
13 requests.structures
structures, fullname=requests.structures, file=requests\structures.py
驅(qū)動(dòng)請(qǐng)求的數(shù)據(jù)結(jié)構(gòu)。
14 requests.utils
utils, fullname=requests.utils, file=requests\utils.py
此模塊提供了在請(qǐng)求中使用的實(shí)用函數(shù),這些函數(shù)對(duì)于外部消費(fèi)也很有用。
15 requests.auth
auth, fullname=requests.auth, file=requests\auth.py
此模塊包含請(qǐng)求的身份驗(yàn)證處理程序。
16 requests.hooks
hooks, fullname=requests.hooks, file=requests\hooks.py
該模塊提供了請(qǐng)求鉤子系統(tǒng)的功能。
有效的 hooks:
``response``:
從請(qǐng)求中生成的響應(yīng)。
17 requests.status_codes
status_codes, fullname=requests.status_codes, file=requests\status_codes.py
狀態(tài)碼``codes``對(duì)象定義了從HTTP狀態(tài)的通用名稱(chēng)到它們的數(shù)字代碼的映射,這些數(shù)字代碼可以作為屬性或字典項(xiàng)訪(fǎng)問(wèn)。
舉例:
>>> import requests
>>> requests.codes['temporary_redirect']
307
>>> requests.codes.teapot
418
>>> requests.codes['\o/']
200
有些代碼有多個(gè)名稱(chēng),并且名稱(chēng)的大寫(xiě)和小寫(xiě)版本都是允許的。例如,``codes.ok``, ``codes.OK``, 和``codes.okay``,均對(duì)應(yīng)于HTTP狀態(tài)碼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
這個(gè)模塊包含了支持請(qǐng)求的主要對(duì)象。
19 requests.adapters
adapters, fullname=requests.adapters, file=requests\adapters.py
此模塊包含請(qǐng)求用于定義和維護(hù)連接的傳輸適配器。
20 requests.sessions
sessions, fullname=requests.sessions, file=requests\sessions.py
這個(gè)模塊提供了一個(gè)Session對(duì)象來(lái)管理和保存請(qǐng)求(cookie, auth, proxy)之間的設(shè)置。
21 requests.api
api, fullname=requests.api, file=requests\api.py
這個(gè)模塊實(shí)現(xiàn)了請(qǐng)求api(Requests API)。
版權(quán):(c) 2012年由肯尼思·雷茨。
許可: Apache2,詳見(jiàn)license。
函數(shù)
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
發(fā)送一個(gè) DELETE 請(qǐng)求。
:param url: 新的對(duì)象:class:`Request` 的 URL。
:param **kwargs: ``request``發(fā)生的可選參數(shù)。
:return: :class:`Response <Response>` 對(duì)象。
: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
發(fā)送一個(gè)GET請(qǐng)求。
:param url: 新的對(duì)象:class:`Request` 的 URL。
:param params: (可選)字典,在對(duì)象 :class:`Request` 的查詢(xún)字符串中發(fā)送的元組或字節(jié)列表。
:param **kwargs: ``request``發(fā)生的可選參數(shù)。
:return: 對(duì)象:class:`Response <Response>`。
:rtype: requests.Response
26 head(url, **kwargs)
head(url, **kwargs), module=requests.api, line:88 at site-packages\requests\api.py
發(fā)送一個(gè)HEAD請(qǐng)求。
:param url: 新的對(duì)象:class:`Request` 的 URL。
:param **kwargs: ``request``發(fā)生的可選參數(shù)。
如果沒(méi)有提供'allow_redirects',它將被設(shè)置為'False'(與默認(rèn)的:meth:'request'行為相反)。
:return: 對(duì)象:class:`Response <Response>`
:rtype: requests.Response
27 options(url, **kwargs)
options(url, **kwargs), module=requests.api, line:76 at site-packages\requests\api.py
發(fā)送一個(gè)OPTIONS請(qǐng)求。
:param url: 新的對(duì)象:class:`Request` 的 URL。
:param **kwargs: ``request``發(fā)生的可選參數(shù)。
:return: 對(duì)象: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
發(fā)送一個(gè)PATCH請(qǐng)求。
:param url: 新的對(duì)象:class:`Request` 的 URL。
:param data: (可選) 在對(duì)象:class:`Request`的主體中發(fā)送的字典、元組列表、字節(jié)或類(lèi)文件對(duì)象。
:param json: (可選)在對(duì)象:class:`Request`主體中傳送的json數(shù)據(jù)。
:param **kwargs: ``request``發(fā)生的可選參數(shù)。
:return: 對(duì)象: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
發(fā)送一個(gè)POST請(qǐng)求。
:param url: 新的對(duì)象:class:`Request` 的 URL。
:param data: (可選) 在對(duì)象:class:`Request`的主體中發(fā)送的字典、元組列表、字節(jié)或類(lèi)文件對(duì)象。
:param json: (可選)在對(duì)象:class:`Request`實(shí)體中傳送的json數(shù)據(jù)。
:param **kwargs: ``request``發(fā)生的可選參數(shù)。
:return: 對(duì)象: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
發(fā)送一個(gè)PUT請(qǐng)求。
:param url: 新的對(duì)象:class:`Request` 的 URL。
:param data: (可選) 在對(duì)象:class:`Request`的主體中發(fā)送的字典、元組列表、字節(jié)或類(lèi)文件對(duì)象。
:param json: (可選)在對(duì)象:class:`Request`實(shí)體中傳送的json數(shù)據(jù)。
:param **kwargs: ``request``發(fā)生的可選參數(shù)。
:return: 對(duì)象: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
構(gòu)造并發(fā)送一個(gè) :class:`Request <Request>`。
:param method: 新對(duì)象:class:`Request`的方法: ``GET``, ``OPTIONS``, ``HEAD``, ``POST``, ``PUT``, ``PATCH``,或 ``DELETE``.
:param url: 新的對(duì)象:class:`Request` 的 URL。
:param params: (可選)字典,在對(duì)象 :class:`Request` 的查詢(xún)字符串中發(fā)送的元組或字節(jié)列表。
:param data: (可選)在對(duì)象:class:`Request`的主體中發(fā)送的字典、元組列表、字節(jié)或類(lèi)文件對(duì)象。
:param json: (可選) 用于附加到請(qǐng)求的主體(如果未指定文件或數(shù)據(jù))的json。
:param headers: (可選) 隨對(duì)象:class:`Request`傳送的HTTP頭部的字典。
:param cookies: (可選) 隨對(duì)象:class:`Request`傳送的字典或CookieJar對(duì)象。
:param files: (可選) 用于多部分編碼上傳的``'name': file-like-objects``(或``{'name': file-tuple}``)的字典。
``file-tuple``可以是2元組``('filename', fileobj)``, 3元組``('filename', fileobj, 'content_type')``
或者一個(gè)4元組``('filename', fileobj, 'content_type', custom_headers)``,其中``'content-type'``是一個(gè)字符串,
定義給定文件的內(nèi)容類(lèi)型和``custom_headers``一個(gè)類(lèi)似字典的對(duì)象,包含額外的頭文件,為文件添加。
:param auth: (可選) Auth 元組。啟用 Basic/Digest/Custom(基本/摘要/自定義) HTTP 認(rèn)證。
:param timeout: (可選) 在放棄之前等待服務(wù)器發(fā)送數(shù)據(jù)的秒數(shù),作為浮點(diǎn)數(shù),或: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: (可選) 字典,映射協(xié)議到代理的URL。
:param verify: (可選) 要么是一個(gè)布爾值,在這種情況下,它控制我們是否驗(yàn)證服務(wù)器的TLS證書(shū);
要么是一個(gè)字符串,在這種情況下,它必須是要使用的CA bundle的路徑。默認(rèn)為“True”。
:param stream: (可選) 如果為 ``False``, 響應(yīng)內(nèi)容將立即下載。
:param cert: (可選) 如果為String, 指向 ssl 客戶(hù)認(rèn)證文件 (.pem)的路徑。如果為 Tuple, 則為 ('cert', 'key') 對(duì)。
:return: 對(duì)象: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版以來(lái)已棄用,僅保留用于向后兼容。
新代碼應(yīng)該使用 :class:`~requests.sessions.Session` 創(chuàng)建會(huì)話(huà)。
這可能會(huì)在未來(lái)的日期被刪除。
:rtype:會(huì)話(huà)
類(lèi)
33 requests.exceptions.RequestsDependencyWarning
RequestsDependencyWarning, requests.exceptions.RequestsDependencyWarning, module=requests.exceptions, line:140 at site-packages\requests\exceptions.py
導(dǎo)入的依賴(lài)項(xiàng)與預(yù)期的版本范圍不匹配。
34 urllib3.exceptions.DependencyWarning
DependencyWarning, urllib3.exceptions.DependencyWarning, module=urllib3.exceptions, line:0 at
當(dāng)嘗試導(dǎo)入缺少可選依賴(lài)項(xiàng)的模塊時(shí)被警告。
35 logging.NullHandler
NullHandler, logging.NullHandler, module=logging, line:0 at
這個(gè)處理程序什么也不做。
它的目的是用來(lái)避免“找不到記錄器XXX的處理程序”的一次性警告。
這對(duì)于庫(kù)代碼很重要,因?yàn)閹?kù)代碼可能包含記錄事件的代碼。
如果庫(kù)的用戶(hù)沒(méi)有配置日志記錄,則可能會(huì)產(chǎn)生一次性警告;為了避免這種情況,庫(kù)開(kāi)發(fā)人員只需要實(shí)例化一個(gè)NullHandler并將其添加到庫(kù)模塊或包的頂級(jí)日志記錄器中。
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
發(fā)生連接錯(cuò)誤。
37 requests.exceptions.ConnectTimeout
ConnectTimeout, requests.exceptions.ConnectTimeout, module=requests.exceptions, line:70 at site-packages\requests\exceptions.py
嘗試連接到遠(yuǎn)程服務(wù)器時(shí),請(qǐng)求超時(shí)。
產(chǎn)生此錯(cuò)誤的請(qǐng)求可以安全地重試。
38 requests.exceptions.FileModeWarning
FileModeWarning, requests.exceptions.FileModeWarning, module=requests.exceptions, line:136 at site-packages\requests\exceptions.py
文件以文本模式打開(kāi),但請(qǐng)求確定了其二進(jìn)制長(zhǎng)度。
39 requests.exceptions.HTTPError
HTTPError, requests.exceptions.HTTPError, module=requests.exceptions, line:45 at site-packages\requests\exceptions.py
發(fā)生HTTP錯(cuò)誤。
40 requests.exceptions.JSONDecodeError
JSONDecodeError, requests.exceptions.JSONDecodeError, module=requests.exceptions, line:31 at site-packages\requests\exceptions.py
無(wú)法將文本解碼為json
41 requests.exceptions.ReadTimeout
ReadTimeout, requests.exceptions.ReadTimeout, module=requests.exceptions, line:77 at site-packages\requests\exceptions.py
服務(wù)器沒(méi)有在分配的時(shí)間內(nèi)發(fā)送任何數(shù)據(jù)。
42 requests.exceptions.RequestException
RequestException, requests.exceptions.RequestException, module=requests.exceptions, line:12 at site-packages\requests\exceptions.py
在處理您的請(qǐng)求時(shí)發(fā)生了一個(gè)不明確的異常。
43 requests.exceptions.Timeout
Timeout, requests.exceptions.Timeout, module=requests.exceptions, line:61 at site-packages\requests\exceptions.py
請(qǐng)求超時(shí)。
捕獲此錯(cuò)誤將捕獲兩個(gè)錯(cuò)誤:
: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
發(fā)出請(qǐng)求需要一個(gè)有效的URL。
46 requests.models.PreparedRequest
PreparedRequest, requests.models.PreparedRequest, module=requests.models, line:314 at site-packages\requests\models.py
完全可變的 :class:`PreparedRequest <PreparedRequest>` 對(duì)象,包含將被發(fā)送到服務(wù)器的確切字節(jié)。
實(shí)例是從:class:'Request <Request>'對(duì)象生成的,不應(yīng)該手動(dòng)實(shí)例化;這樣做可能會(huì)產(chǎn)生不良影響。
用法::
>>> 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
用給定的參數(shù)準(zhǔn)備整個(gè)請(qǐng)求。
3 prepare_auth(self, auth, url=“”)
kind=method class=PreparedRequest objtype=function line:589 at …\lib\site-packages\requests\models.py
準(zhǔn)備給定的HTTP認(rèn)證數(shù)據(jù)。
4 prepare_body(self, data, files, json=None)
kind=method class=PreparedRequest objtype=function line:495 at …\lib\site-packages\requests\models.py
準(zhǔn)備給定的HTTP主體數(shù)據(jù)。
5 prepare_content_length(self, body)
kind=method class=PreparedRequest objtype=function line:573 at …\lib\site-packages\requests\models.py
根據(jù)請(qǐng)求方法和正文準(zhǔn)備內(nèi)容長(zhǎng)度報(bào)頭
6 prepare_cookies(self, cookies)
kind=method class=PreparedRequest objtype=function line:611 at …\lib\site-packages\requests\models.py
準(zhǔn)備給定的HTTP cookie數(shù)據(jù)。
這個(gè)函數(shù)最終使用cookielib從給定的Cookie生成一個(gè)``Cookie``標(biāo)頭。
由于cookielib的設(shè)計(jì),如果頭文件已經(jīng)存在,將不會(huì)重新生成,這意味著該函數(shù)在:class:'PreparedRequest <PreparedRequest>'對(duì)象的生命周期內(nèi)只能被調(diào)用一次。
任何后續(xù)調(diào)用``prepare_cookies``將沒(méi)有實(shí)際效果,除非事先刪除'Cookie'標(biāo)頭。
7 prepare_headers(self, headers)
kind=method class=PreparedRequest objtype=function line:484 at …\lib\site-packages\requests\models.py
準(zhǔn)備給定的HTTP標(biāo)頭。
8 prepare_hooks(self, hooks)
kind=method class=PreparedRequest objtype=function line:631 at …\lib\site-packages\requests\models.py
準(zhǔn)備給定的鉤子。
9 prepare_method(self, method)
kind=method class=PreparedRequest objtype=function line:394 at …\lib\site-packages\requests\models.py
準(zhǔn)備給定的HTTP方法。
10 prepare_url(self, url, params)
kind=method class=PreparedRequest objtype=function line:410 at …\lib\site-packages\requests\models.py
準(zhǔn)備給定的HTTP URL。
47 requests.models.Request
Request, requests.models.Request, module=requests.models, line:84 at site-packages\requests\models.py
一個(gè)用戶(hù)創(chuàng)建的:class:`Request <Request>` 對(duì)象。
: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: (可選) 在對(duì)象:class:`Request`的主體中發(fā)送的字典、元組列表、字節(jié)或類(lèi)文件對(duì)象。
如果提供了元組 ``[(key, value)]`` 的字典或列表,則會(huì)進(jìn)行格式編碼。
:param json: 用于附加到請(qǐng)求的主體(如果未指定文件或數(shù)據(jù))的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
構(gòu)造一個(gè) :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>`對(duì)象,它包含服務(wù)器對(duì)HTTP請(qǐng)求的響應(yīng)。
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
將連接釋放回池。
一旦調(diào)用了此方法,就不能再訪(fǎng)問(wèn)底層的“原始”對(duì)象``raw``。
注:通常不需要顯式調(diào)用
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
迭代響應(yīng)數(shù)據(jù)。
當(dāng)在請(qǐng)求上設(shè)置stream=True時(shí),這避免了將內(nèi)容立即讀入內(nèi)存以進(jìn)行大型響應(yīng)。
塊大小是應(yīng)該讀入內(nèi)存的字節(jié)數(shù)。這并不一定是解碼發(fā)生時(shí)返回的每個(gè)項(xiàng)的長(zhǎng)度。
chunk_size必須為int或None類(lèi)型。None值將根據(jù)'stream'的值產(chǎn)生不同的作用。
stream=True將在數(shù)據(jù)到達(dá)時(shí)讀取數(shù)據(jù),無(wú)論接收到的塊大小。
如果stream=False,數(shù)據(jù)將作為單個(gè)塊返回。
如果decode_unicode為T(mén)rue,則將根據(jù)響應(yīng)使用最佳可用編碼對(duì)內(nèi)容進(jìn)行解碼。
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
在響應(yīng)數(shù)據(jù)上迭代,一次一行。當(dāng)在請(qǐng)求上設(shè)置 stream=True時(shí),可以避免在大響應(yīng)時(shí)立即將內(nèi)容讀入內(nèi)存。
注意:此方法不安全。
12 json(self, **kwargs)
kind=method class=Response objtype=function line:944 at …\lib\site-packages\requests\models.py
返回json編碼的響應(yīng)內(nèi)容(如果有的話(huà))。
:param \*\*kwargs: ``json.loads``發(fā)生所需要的可選參數(shù)。
:引發(fā) requests.exceptions.JSONDecodeError: 如果響應(yīng)主體不包含有效的json。
13 raise_for_status(self)
kind=method class=Response objtype=function line:994 at …\lib\site-packages\requests\models.py
如果發(fā)生了,引發(fā) :class:`HTTPError`。
49 requests.sessions.Session
Session, requests.sessions.Session, module=requests.sessions, line:106 at site-packages\requests\sessions.py
請(qǐng)求會(huì)話(huà)。
提供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
關(guān)閉所有適配器和會(huì)話(huà)
2 delete(self, url, **kwargs)
kind=method class=Session objtype=function line:661 at …\lib\site-packages\requests\sessions.py
發(fā)送一個(gè)DELETE請(qǐng)求。
:param url: 新的對(duì)象:class:`Request` 的 URL。
:param **kwargs: ``request``發(fā)生的可選參數(shù)。
:rtype: requests.Response
3 get(self, url, **kwargs)
kind=method class=Session objtype=function line:591 at …\lib\site-packages\requests\sessions.py
發(fā)送一個(gè)GET請(qǐng)求。
:param url: 新的對(duì)象:class:`Request` 的 URL。
:param **kwargs: ``request``發(fā)生的可選參數(shù)。
:rtype: requests.Response
4 get_adapter(self, url)
kind=method class=Session objtype=function line:780 at …\lib\site-packages\requests\sessions.py
返回給定URL的適當(dāng)連接適配器。
:rtype: requests.adapters.BaseAdapter
5 head(self, url, **kwargs)
kind=method class=Session objtype=function line:613 at …\lib\site-packages\requests\sessions.py
發(fā)送一個(gè)HEAD請(qǐng)求。
:param url: 新的對(duì)象:class:`Request` 的 URL。
:param **kwargs: ``request``發(fā)生的可選參數(shù)。
: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
檢查環(huán)境并將其與某些設(shè)置合并。
:rtype: 字典。
7 mount(self, prefix, adapter)
kind=method class=Session objtype=function line:799 at …\lib\site-packages\requests\sessions.py
將連接適配器注冊(cè)到前綴。
適配器按前綴長(zhǎng)度降序排序。
8 options(self, url, **kwargs)
kind=method class=Session objtype=function line:602 at …\lib\site-packages\requests\sessions.py
發(fā)送一個(gè)OPTIONS請(qǐng)求。
:param url: 新的對(duì)象:class:`Request` 的 URL。
:param **kwargs: ``request``發(fā)生的可選參數(shù)。
: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
發(fā)送一個(gè)PATCH請(qǐng)求。
:param url: 新的對(duì)象:class:`Request` 的 URL。
:param data: (可選) 在對(duì)象:class:`Request`的主體中發(fā)送的字典、元組列表、字節(jié)或類(lèi)文件對(duì)象。
:param **kwargs: ``request``發(fā)生的可選參數(shù)。
: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
發(fā)送一個(gè)POST請(qǐng)求。
:param url: 新的對(duì)象:class:`Request` 的 URL。
:param data: (可選) 在對(duì)象:class:`Request`的主體中發(fā)送的字典、元組列表、字節(jié)或類(lèi)文件對(duì)象。
:param json: (可選) 用于附加到請(qǐng)求的主體(如果未指定文件或數(shù)據(jù))的json。
:param **kwargs: ``request``發(fā)生的可選參數(shù)。
:rtype: requests.Response
11 prepare_request(self, request)
kind=method class=Session objtype=function line:457 at …\lib\site-packages\requests\sessions.py
構(gòu)造一個(gè):class:'PreparedRequest <PreparedRequest>'用于傳輸并返回它。
:param request: 用此進(jìn)程的設(shè)置準(zhǔn)備一個(gè):class:`Request`實(shí)例。
: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
發(fā)送一個(gè)PUT請(qǐng)求。
返回:class:'Response'對(duì)象。
:param url: 新的對(duì)象:class:`Request` 的 URL。
:param data: (可選) 在對(duì)象:class:`Request`的主體中發(fā)送的字典、元組列表、字節(jié)或類(lèi)文件對(duì)象。
:param **kwargs: ``request``發(fā)生的可選參數(shù)。
:rtype: requests.Response
13 request(
kind=method class=Session objtype=function line:500 at …lib\site-packages\requests\sessions.py
構(gòu)造一個(gè) :class:`Request <Request>`,準(zhǔn)備并發(fā)送。
返回 :class:`Response <Response>` 對(duì)象。
:param method: 新的對(duì)象:class:`Request`的方法。
:param url: 新的對(duì)象:class:`Request` 的 URL。
:param params: (可選)字典,在對(duì)象 :class:`Request` 的查詢(xún)字符串中發(fā)送的元組或字節(jié)列表。
:param data: (可選) 在對(duì)象:class:`Request`的主體中發(fā)送的字典、元組列表、字節(jié)或類(lèi)文件對(duì)象。
:param json: (可選) 用于附加到請(qǐng)求的主體(如果未指定文件或數(shù)據(jù))的json。
:param headers: (可選) :class:`Request`發(fā)送的HTTP頭的字典。
:param cookies: (可選) 隨對(duì)象:class:`Request`發(fā)送的字典或CookieJar對(duì)象。
: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
發(fā)送一個(gè)給定的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客戶(hù)端的HTTP cookie處理。
這個(gè)模塊(現(xiàn)在相當(dāng)遙遠(yuǎn))起源于Gisle Aas的Perl模塊HTTP::Cookies,來(lái)自libwww-perl庫(kù)。
這段代碼中的文檔字符串、注釋和調(diào)試字符串將HTTP cookie系統(tǒng)的屬性稱(chēng)為cookie-attributes,以便將它們與Python屬性明顯區(qū)分開(kāi)來(lái)。
類(lèi)圖(注意BSDDBCookieJar和MSIE*類(lèi)不是隨Python標(biāo)準(zhǔn)庫(kù)一起發(fā)布的,但可以從[鏈接](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文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-459950.html
【encodings】
encodings, fullname=encodings, file=encodings_init_.py文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-459950.html
標(biāo)準(zhǔn)Python編碼模塊存儲(chǔ)在這個(gè)包目錄中。編解碼器模塊的名稱(chēng)必須與下面的normalize_encoding()函數(shù)中定義的規(guī)范化編碼名稱(chēng)相對(duì)應(yīng)。
到了這里,關(guān)于一圖看懂 requests 模塊:用Python編寫(xiě)、供人類(lèi)使用的HTTP庫(kù), 資料整理+筆記(大全)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!