encode / httpx
- воскресенье, 6 октября 2019 г. в 00:22:01
Python
A next generation HTTP client for Python. 🦋
HTTPX - A next-generation HTTP client for Python.
Note: This project should be considered as an "alpha" release. It is substantially API complete, but there are still some areas that need more work.
Let's get started...
>>> import httpx
>>> r = httpx.get('https://www.example.org/')
>>> r
<Response [200 OK]>
>>> r.status_code
200
>>> r.http_version
'HTTP/1.1'
>>> r.headers['content-type']
'text/html; charset=UTF-8'
>>> r.text
'<!doctype html>\n<html>\n<head>\n<title>Example Domain</title>...'HTTPX builds on the well-established usability of requests, and gives you:
async/await support if you need it.Plus all the standard features of requests...
Install with pip:
$ pip install httpxhttpx requires Python 3.6+
Project documentation is available at www.encode.io/httpx/.
For a run-through of all the basics, head over to the QuickStart.
For more advanced topics, see the Advanced Usage section, or the specific topics on making Parallel Requests or using the Async Client.
The Developer Interface provides a comprehensive API reference.
If you want to contribute with HTTPX check out the Contributing Guide to learn how to start.
The httpx project relies on these excellent libraries:
h2 - HTTP/2 support.h11 - HTTP/1.1 support.certifi - SSL certificates.chardet - Fallback auto-detection for response encoding.hstspreload - determines whether IDNA-encoded host should be only accessed via HTTPS.idna - Internationalized domain name support.rfc3986 - URL parsing & normalization.brotlipy - Decoding for "brotli" compressed responses. (Optional)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 is BSD licensed code. Designed & built in Brighton, England.