Package: httpx
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:$pipinstallhttpxNow, let's get started:>>>importhttpx>>>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.$pipinstall'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...FeaturesHTTPX 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 applicationsorASGI applications.Strict timeouts everywhere.Fully type annotated.100% test coverage.Plus all the standard features ofrequests...International Domains and URLsKeep-Alive & Connection PoolingSessions with Cookie PersistenceBrowser-style SSL VerificationBasic/Digest AuthenticationElegant Key/Value CookiesAutomatic DecompressionAutomatic Content DecodingUnicode Response BodiesMultipart File UploadsHTTP(S) Proxy SupportConnection TimeoutsStreaming Downloads.netrc SupportChunked RequestsInstallationInstall with pip:$pipinstallhttpxOr, to include the optional HTTP/2 support, use:$pipinstallhttpx[http2]HTTPX requires Python 3.8+.DocumentationProject 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 Usagesection, theasync supportsection, or theHTTP/2section.TheDeveloper Interfaceprovides a comprehensive API reference.To find out about tools that integrate with HTTPX, seeThird Party Packages.ContributeIf you want to contribute with HTTPX check out theContributing Guideto learn how to start.DependenciesThe 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])A huge amount of credit is due torequestsfor the API layout that
much of this work follows, as well as tourllib3for plenty of design
inspiration around the lower-level networking details.HTTPX isBSD licensedcode.Designed & crafted with care.— 🦋 —Release InformationDeprecatedTheapp=...shortcut has been deprecated. Use the explicit style oftransport=httpx.WSGITransport()ortransport=httpx.ASGITransport()instead.FixedRespect thehttp1argument while configuring proxy transports. (#3023)Fix RFC 2069 mode digest authentication. (#3045)Full changelog