Does python-requests support HTTP2 and asynchronous calls?

15,631

Solution 1

As recommended by @qris in this comment, you should consider using HTTPX (https://github.com/encode/httpx/) .

It's in beta, but a 1.0 release in planned for 2021.

It supports both async as well as HTTP/2 and provides a requests-compatible API.

Solution 2

It doesn't support HTTP/2 now (Release v2.18.1). As in the doc (http://docs.python-requests.org/en/master/):

Requests allows you to send organic, grass-fed HTTP/1.1 requests, without the need for manual labor.

But you can try Hyper if you need to send HTTP/2 requests: https://hyper.readthedocs.io/en/latest/.

hyper supports Python 3.4 and Python 2.7.9, and can speak HTTP/2 and HTTP/1.1.

Share:
15,631
Thomas Young
Author by

Thomas Young

Technical support for PortSIP's product: VoIP SDK, VoIP Client APP, Software based PortSIP PBX, WebRTC Gateay.

Updated on June 14, 2022

Comments

  • Thomas Young
    Thomas Young almost 2 years

    I would like to use python-requests in my server to send PUSH notification to Apple push server, my questions:

    1. Does python-requests support asynchronous calls ?
    2. Does python-request support HTTP2 ?

    Thanks