Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork980
A next generation HTTP client for Python. 🦋
License
encode/httpx
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
HTTPX- A next-generation HTTP client for Python.
HTTPX is a fully featured HTTP client library for Python 3. It includesan integrated command line client, has support for bothHTTP/1.1 and HTTP/2, and provides bothsync and async APIs.
Install HTTPX using pip:
$ pip install httpx
Now, let's get started:
>>>import httpx>>> r= httpx.get('https://www.example.org/')>>> r<Response [200 OK]>>>> r.status_code200>>> r.headers['content-type']'text/html; charset=UTF-8'>>> r.text'<!doctype html>\n<html>\n<head>\n<title>Example Domain</title>...'
Or, using the command-line client.
$ pip install'httpx[cli]'# The command line client is an optional dependency.
Which now allows us to use HTTPX directly from the command-line...
Sending a request...
HTTPX builds on the well-established usability ofrequests, and gives you:
- A broadlyrequests-compatible API.
- An integrated command-line client.
- HTTP/1.1and HTTP/2 support.
- Standard synchronous interface, but withasync support if you need it.
- Ability to make requests directly toWSGI applications orASGI applications.
- Strict timeouts everywhere.
- Fully type annotated.
- 100% test coverage.
Plus all the standard features ofrequests...
- International Domains and URLs
- Keep-Alive & Connection Pooling
- Sessions with Cookie Persistence
- Browser-style SSL Verification
- Basic/Digest Authentication
- Elegant Key/Value Cookies
- Automatic Decompression
- Automatic Content Decoding
- Unicode Response Bodies
- Multipart File Uploads
- HTTP(S) Proxy Support
- Connection Timeouts
- Streaming Downloads
- .netrc Support
- Chunked Requests
Install with pip:
$ pip install httpx
Or, to include the optional HTTP/2 support, use:
$ pip install httpx[http2]
HTTPX requires Python 3.9+.
Project documentation is available athttps://www.python-httpx.org/.
For a run-through of all the basics, head over to theQuickStart.
For more advanced topics, see theAdvanced Usage section, theasync support section, or theHTTP/2 section.
TheDeveloper Interface provides a comprehensive API reference.
To find out about tools that integrate with HTTPX, seeThird Party Packages.
If you want to contribute with HTTPX check out theContributing Guide to learn how to start.
The HTTPX project relies on these excellent libraries:
httpcore- The underlying transport implementation forhttpx.h11- HTTP/1.1 support.
certifi- SSL certificates.idna- Internationalized domain name support.sniffio- Async library autodetection.
As well as these optional installs:
h2- HTTP/2 support.(Optional, withhttpx[http2])socksio- SOCKS proxy support.(Optional, withhttpx[socks])rich- Rich terminal support.(Optional, withhttpx[cli])click- Command line client support.(Optional, withhttpx[cli])brotliorbrotlicffi- Decoding for "brotli" compressed responses.(Optional, withhttpx[brotli])zstandard- Decoding for "zstd" compressed responses.(Optional, withhttpx[zstd])
A huge amount of credit is due torequests for the API layout thatmuch of this work follows, as well as tourllib3 for plenty of designinspiration around the lower-level networking details.
HTTPX isBSD licensed code.
Designed & crafted with care.
— 🦋 —
About
A next generation HTTP client for Python. 🦋
Topics
Resources
License
Code of conduct
Contributing
Security policy
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Sponsor this project
Uh oh!
There was an error while loading.Please reload this page.


