版本:httpx 0.23.3和httpcore 0.16.3。
import httpx
s=httpx.Client(
http2=True, proxies='http://127.0.0.1:9000', verify=False
)
r=s.get('https://in.indeed.com')
print(r.http_version)
注解掉代理/verify得到HTTP/2。代理是常规的mitmproxy。
我发现了这个:https://github.com/encode/httpx/issues/873,但据说它在2020年被修复了。我简要地查看了httpx中的相应代码,看到http2到处传递,所以它可能在更深的地方。
1条答案
按热度按时间xienkqul1#
嗯,我不知道什么是正确的方法,但是我已经在TunnelHTTPConnection/handle_request()的httpcore中将alpn_protocols设置为[“h2”],以无条件地强制它,现在它给我HTTP/2。