Fix Curl's HTTP/2 headers to match Chrome's headers

* Change the default HTTP/2 settings sent by Curl to match the ones that
Chrome sends. They appear in the SETTINGS message in the beginning of
the HTTP/2 handshake, which can be seen only after decrypting the TLS
traffic.
* Change the order of the HTTP/2 pseudo-headers ":authority", ":scheme"
and ":path" in the HEADERS message. Curl sent them in a different order
than Chrome.
This commit is contained in:
lwthiker
2022-02-19 00:49:01 +02:00
parent 647c4f428c
commit 01b4a33c82
5 changed files with 104 additions and 1 deletions

8
curl-http2-d.patch Normal file
View File

@@ -0,0 +1,8 @@
--- curl-7.81.0-original/lib/http2.h 2021-12-10 09:40:37.000000000 +0200
+++ curl-7.81.0/lib/http2.h 2022-02-19 00:45:53.440376589 +0200
@@ -31,3 +31,4 @@
from the peer */
-#define DEFAULT_MAX_CONCURRENT_STREAMS 100
+/* curl-impersonate: Use 1000 concurrent streams like Chrome. */
+#define DEFAULT_MAX_CONCURRENT_STREAMS 1000