import re from http.cookies import SimpleCookie from pprint import pprint def get_chrome_version_from_ua(ua: str) -> str: _regex = "Chrome\/([0-9]+)" _match = re.search(_regex, ua) if _match: return _match.group(1) def generate_headers_from_request_message(_received_dict, cookie_str): _ua = 'Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Mobile Safari/537.36' cookie = SimpleCookie() _chrome_version = '125' if _received_dict is not None: _ua = _received_dict['ua'] _chrome_version = get_chrome_version_from_ua(_ua) _model = _received_dict['model'] # _ua = "Mozilla/5.0 (Linux; Android 9; {}) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.58 Mobile Safari/537.36".format( # _model) print("model:" + _model) cookie.load(cookie_str) headers = { 'User-Agent': _ua, 'Accept': '*/*', 'Accept-Encoding': 'gzip, deflate, br', 'Cache-Control': 'max-age=0', 'Referer': "linkPojo.url", 'Cookie': cookie_str, 'Sec-Fetch-Mode': 'navigate', 'Host': 'rendezvousparis.hermes.com', 'Sec-Fetch-Site': 'same-origin', 'sec-ch-ua': '"Google Chrome";v="{}", "Chromium";v="{}", "Not.A/Brand";v="24"'.format(_chrome_version, _chrome_version), 'sec-ch-ua-platform': '"Android"', 'sec-ch-ua-model': '"{}"'.format(_model), 'Sec-Fetch-Dest': 'document', 'Accept-Language': 'fr-FR,fr;q=0.6'} return headers if __name__ == '__main__': # _ua_to_test = "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Mobile Safari/537.36" # _ua_to_test = "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Mobile Safari/537.36" # print(get_chrome_version_from_ua(_ua_to_test)) # Output: 129.0.0.0 _received_dict = {"glvd": "Google Inc. (ARM)", "glrd": "ANGLE (ARM, Mali-G57 MC2, OpenGL ES 3.2)", "hc": 8, "br_oh": 745, "br_ow": 393, "br_h": 745, "br_w": 393, "rs_h": 876, "rs_w": 393, "rs_cd": 24, "ars_h": 876, "ars_w": 393, "plg": 0, "eva": 33, "vnd": "Google Inc.", "plu": [], "ua": "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Mobile Safari/537.36", "dvm": 4, "acw": "probably", "pr": 2.75, "ts_mtp": 5, "tz": -60, "emd": "k:ai,vi,ao", "cookiesStr": "datadome=cVhteVJiGoU3N1T61hX4dF5vNG4~p5JpkbsKLH674kzQiuT1G5sDohLD33nFx2QFqlPiJfY~yfsRNIpqM8xZ1JfXTgT7p8v5QfkmmOl~BIhLOVCBHe_6Al6CM2QsSq7g;__cf_bm=J9g80A6wlNO03BLqyhiuf5ZRkx_8Ig7QIOLhHoEh1i8-1734010016-1.0.1.1-fMIRmq.K8K093kcSzJdFlcIEoCH9XwWhDlsXFoDmvNnerYvpyG0eC9vIdqj5xACF28YYAYGXwuag5f33JoDiBg;", "model": "22041219PG", "serial": "fmiz5pa6rsx4u4ts"} pprint(generate_headers_from_request_message(_received_dict, _received_dict["cookiesStr"]))