From de5ffb67168b90153532e58149541f09ec0213d8 Mon Sep 17 00:00:00 2001 From: Yusuf Date: Tue, 1 Oct 2024 20:19:52 +0200 Subject: [PATCH] Added flexibility so that you can set different header orders per request. --- examples/example1 - preset.py | 2 +- tls_client/sessions.py | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/examples/example1 - preset.py b/examples/example1 - preset.py index 11ced3f..1d35a42 100644 --- a/examples/example1 - preset.py +++ b/examples/example1 - preset.py @@ -14,7 +14,7 @@ # more client identifiers can be found in settings.py session = tls_client.Session( - client_identifier="chrome112", + client_identifier="chrome_112", random_tls_extension_order=True ) diff --git a/tls_client/sessions.py b/tls_client/sessions.py index e625669..6733ea3 100644 --- a/tls_client/sessions.py +++ b/tls_client/sessions.py @@ -308,6 +308,7 @@ def execute_request( params: Optional[dict] = None, # Optional[dict[str, str]] data: Optional[Union[str, dict]] = None, headers: Optional[dict] = None, # Optional[dict[str, str]] + header_order: Optional[List[str]] = None, cookies: Optional[dict] = None, # Optional[dict[str, str]] json: Optional[dict] = None, # Optional[dict] allow_redirects: Optional[bool] = False, @@ -354,6 +355,11 @@ def execute_request( headers = merged_headers + # Ability to overwrite self.header_order for flexibility + request_header_order = self.header_order + if header_order: + request_header_order = header_order + # --- Cookies -------------------------------------------------------------------------------------------------- cookies = cookies or {} # Merge with session cookies @@ -394,7 +400,7 @@ def execute_request( "withDebug": self.debug, "catchPanics": self.catch_panics, "headers": dict(headers), - "headerOrder": self.header_order, + "headerOrder": request_header_order, "insecureSkipVerify": insecure_skip_verify, "isByteRequest": is_byte_request, "additionalDecode": self.additional_decode,