From: chaojie
HTTPX - éç¨äºPythonçæ¬¡ä¸ä»£HTTP客æ·ç«¯
+HTTPX - éç¨äº Python çä¸ä¸ä»£ HTTP 客æ·ç«¯
-HTTPXæ¯ä¸ä¸ªåè½é½å ¨çHTTP客æ·ç«¯python3åº. å®éæäº **ä¸ä¸ªå½ä»¤è¡å®¢æ·ç«¯**, æ¯æ **HTTP/1.1 å HTTP/2**, è䏿ä¾äº **忥å弿¥API**. - -**注æï¼**: *0.21çæ¬å æ¬å¯¹éæå½ä»¤è¡çä¸äºæ¹è¿ãææ°çæ¬ä¸éæ°è®¾è®¡ç `httpæ ¸å¿`. é½åºè¯¥èªå¨æ´æ°å°æéççæ¬ï¼å¦ææ¨éå°ä»»ä½é®é¢ï¼é£ä¹æ¨åºè¯¥ç¡®ä¿æ¨å®è£ ççæ¬ä¸º `httpx0.21.*` ä¸ `httpcore0.14.*` . 请åè [the CHANGELOG](https://github.com/encode/httpx/blob/master/CHANGELOG.md) æ¥è·å¾æ´å¤ç»è.* +HTTPX æ¯éç¨äº Python3 çåè½é½å ¨ç HTTP 客æ·ç«¯ã å®éæäº **ä¸ä¸ªå½ä»¤è¡å®¢æ·ç«¯**ï¼åæ¶æ¯æ **HTTP/1.1 å HTTP/2**ï¼å¹¶æä¾äº **忥å弿¥ API**ã --- -éè¿pipå®è£ httpx: +éè¿ pip å®è£ HTTPXï¼ ```shell $ pip install httpx ``` -使ç¨httpx: +ä½¿ç¨ httpxï¼ ```pycon >>> import httpx @@ -40,13 +38,13 @@ $ pip install httpx '\n\n\n
@@ -60,85 +58,88 @@ $ pip install 'httpx[cli]' # åªå®è£
éæçå½ä»¤è¡åè½
## ç¹æ§
-HTTPXå°å¹¶ä¸ºæ¨æä¾ä»¥ä¸åè½:
-
-* 广æ³ç [requests-compatible API](https://www.python-httpx.org/compatibility/).
-* å
ç½®çå½ä»¤è¡å®¢æ·ç«¯åè½.
-* HTTP/1.1 [å HTTP/2 æ¯æ](https://www.python-httpx.org/http2/).
-* æ å忥æ¥å£ï¼ä¹æ¯æ [弿¥](https://www.python-httpx.org/async/).
-* è½å¤ç´æ¥å [WSGI åºç¨åé请æ±](https://www.python-httpx.org/advanced/#calling-into-python-web-apps) æå [ASGI åºç¨åé请æ±](https://www.python-httpx.org/async/#calling-into-python-web-apps).
-* å¨ä»»ä½å°æ¹è®¾ç½®è¯¦ç»çtimeout.
-* å
¨ç±»å注é.
-* å
¨é¨ä»£ç åéè¿æµè¯.
-
-å ä¸è¿äºåºè¯¥å
·å¤çæ ååè½
-
-* ååä¸URL
-* ä¿ææ´»å¨ç¶æ
-* å
·æCookieæä¹
æ§çä¼è¯
-* æµè§å¨é£æ ¼çSSLéªè¯
-* 身份éªè¯
-* Elegant Key/Value Cookies
+HTTPX 建ç«å¨æçç requests å¯ç¨æ§åºç¡ä¸ï¼ä¸ºæ¨æä¾ä»¥ä¸åè½ï¼
+
+* 广æ³ç [requests å
¼å®¹ API](https://www.python-httpx.org/compatibility/)ã
+* å
ç½®çå½ä»¤è¡å®¢æ·ç«¯åè½ã
+* HTTP/1.1 [å HTTP/2 æ¯æ](https://www.python-httpx.org/http2/)ã
+* æ å忥æ¥å£ï¼ä¹æ¯æ [弿¥](https://www.python-httpx.org/async/)ã
+* è½å¤ç´æ¥å [WSGI åºç¨åé请æ±](https://www.python-httpx.org/advanced/#calling-into-python-web-apps) æå [ASGI åºç¨åé请æ±](https://www.python-httpx.org/async/#calling-into-python-web-apps)ã
+* æ¯ä¸å¤ä¸¥æ ¼çè¶
æ¶æ§å¶ã
+* 宿´çç±»åæ³¨è§£ã
+* 100% æµè¯ã
+
+å ä¸è¿äºåºè¯¥å
·å¤çæ ååè½...
+
+* å½é
åååä¸ URL
+* Keep-Alive & è¿æ¥æ±
+* Cookie æä¹
æ§ä¼è¯
+* æµè§å¨é£æ ¼ç SSL éªè¯
+* åºç¡ææè¦èº«ä»½éªè¯
+* ä¼é
çé®å¼ Cookies
* èªå¨è§£å缩
* å
容èªå¨è§£ç
-* Unicode Response Bodies
+* Unicode ååºæ£æ
* åæ®µæä»¶ä¸ä¼
-* æ¯æHTTP(S) 代ç
-* æ¯æè®¾å®timeout
+* HTTP(S)ä»£çæ¯æ
+* å¯é
ç½®çè¿æ¥è¶
æ¶
* æµå¼ä¸è½½
-* æ¯æ .netrc
-* æ¥æ¶Chunkedç¼ç
+* .netrc æ¯æ
+* åå请æ±
## å®è£
-使ç¨pipå®è£
:
+ä½¿ç¨ pip å®è£
ï¼
```shell
$ pip install httpx
```
-å®è£
HTTP/2æ¯æ:
+æè
ï¼å®è£
å¯éç HTTP/2 æ¯æï¼
```shell
$ pip install httpx[http2]
```
-HTTPX è¦æ± Python 3.6çæ¬ææ´é«.
+HTTPX è¦æ± Python 3.7+ çæ¬ã
## ææ¡£
-é¡¹ç®ææ¡£ç°å·²å°±ç»ªï¼è¯·è®¿é® [https://www.python-httpx.org/](https://www.python-httpx.org/) æ¥é
读ï¼
+é¡¹ç®ææ¡£ç°å·²å°±ç»ªï¼è¯·è®¿é® [https://www.python-httpx.org/](https://www.python-httpx.org/) æ¥é
读ã
-æ³å¦ä¹ åºç¡ç¥è¯ï¼è¯·è®¿é® [å¿«éå¼å§](https://www.python-httpx.org/quickstart/).
+è¦æµè§ææåºç¡ç¥è¯ï¼è¯·è®¿é® [å¿«éå¼å§](https://www.python-httpx.org/quickstart/)ã
-æ³è·å¾è¿é¶å¸®å©ï¼ è¯·è®¿é® [Advanced Usage](https://www.python-httpx.org/advanced/) æ¥è·å¾çæ¡, ä¸å¦¨æ¥çç [弿¥æ¯æ](https://www.python-httpx.org/async/) æè
[HTTP/2](https://www.python-httpx.org/http2/)
+æ´é«çº§ç主é¢ï¼å¯åé
[é«çº§ç¨æ³](https://www.python-httpx.org/advanced/) ç« è, [弿¥æ¯æ](https://www.python-httpx.org/async/) æè
[HTTP/2](https://www.python-httpx.org/http2/) ç« èã
-[Developer Interface](https://www.python-httpx.org/api/) æä¾äºå
¨é¢çAPIåèã
+[Developer Interface](https://www.python-httpx.org/api/) æä¾äºå
¨é¢ç API åèã
-è¦äºè§£ä¸HTTPXéæçå·¥å
·, è¯·è®¿é® [ç¬¬ä¸æ¹å
](https://www.python-httpx.org/third_party_packages/).
+è¦äºè§£ä¸ HTTPX éæçå·¥å
·, è¯·è®¿é® [ç¬¬ä¸æ¹å
](https://www.python-httpx.org/third_party_packages/)ã
## è´¡ç®
-å¦ææ¨æ³å¯¹æ¬é¡¹ç®ååºè´¡ç®ï¼è¯·è®¿é® [è´¡ç®è
æå](https://www.python-httpx.org/contributing/) æ¥äºè§£æ³¨æäºé¡¹
+å¦ææ¨æ³å¯¹æ¬é¡¹ç®ååºè´¡ç®ï¼è¯·è®¿é® [è´¡ç®è
æå](https://www.python-httpx.org/contributing/) æ¥äºè§£å¦ä½å¼å§ã
## ä¾èµ
-HTTPX项ç®ä¾èµäºè¿äºä¼ç§çåº:
-
-* `httpcore` - The underlying transport implementation for `httpx`.
- * `h11` - HTTP/1.1 support.
- * `h2` - HTTP/2 support. *(Optional, with `httpx[http2]`)*
-* `certifi` - SSL certificates.
-* `rfc3986` - URL parsing & normalization.
- * `idna` - Internationalized domain name support.
-* `sniffio` - Async library autodetection.
-* `rich` - Rich terminal support. *(Optional, with `httpx[cli]`)*
-* `click` - Command line client support. *(Optional, with `httpx[cli]`)*
-* `brotli` or `brotlicffi` - Decoding for "brotli" compressed responses. *(Optional, with `httpx[brotli]`)*
-
-A huge amount of credit is due to `requests` for the API layout that
-much of this work follows, as well as to `urllib3` for plenty of design
-inspiration around the lower-level networking details.
-
-
— âï¸ —
-HTTPX 代ç ä½¿ç¨ BSD 弿ºåè®®. å¨è±å½å¸è±é¡¿è®¾è®¡åæå»ºã
+HTTPX 项ç®ä¾èµäºè¿äºä¼ç§çåºï¼ + +* `httpcore` - `httpx` åºç¡ä¼ è¾æ¥å£å®ç°ã + * `h11` - HTTP/1.1 æ¯æã +* `certifi` - SSL è¯ä¹¦ã +* `rfc3986` - URL è§£æä¸è§èåã + * `idna` - å½é åå忝æã +* `sniffio` - 弿¥åºèªå¨æ£æµã + +以åè¿äºå¯éçå®è£ ï¼ + +* `h2` - HTTP/2 æ¯æã *(å¯éçï¼éè¿ `httpx[http2]`)* +* `socksio` - SOCKS ä»£çæ¯æã *(å¯éçï¼ éè¿ `httpx[socks]`)* +* `rich` - 丰å¯çç»ç«¯æ¯æã *(å¯éçï¼éè¿ `httpx[cli]`)* +* `click` - å½ä»¤è¡å®¢æ·ç«¯æ¯æã *(å¯éçï¼éè¿ `httpx[cli]`)* +* `brotli` æè `brotlicffi` - 对 âbrotliâ å缩ååºçè§£ç ã*(å¯éçï¼éè¿ `httpx[brotli]`)* + +è¿é¡¹å·¥ä½ç大éåå³é½å½åäºåèäº `requests` æéµå¾ªç API ç»æï¼ä»¥å `urllib3` ä¸ä¼å¤å´ç»åºå±ç½ç»ç»èçè®¾è®¡çµæã + +--- + +HTTPX ä½¿ç¨ BSD 弿ºåè®® codeã
ç²¾å¿è®¾è®¡åå¶ä½ã
— 𦠗