Python: не корректная кодировка при получении данных при помощи requests

После обновления ОС, неожиданно стал шалить модуль requests. А именно при получении данных при помощи post запроса, перестало срабатывать автоопределение кодировки возврата вывода:

Код вида:

def reqwest(command,body,local_config):
    headers = {
        'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/115.0',
        'Accept': 'application/json',
        'Accept-Language': 'ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3',
        'Connection': 'keep-alive',
        'Upgrade-Insecure-Requests': '1',
        'Sec-Fetch-Dest': 'document',
        'Sec-Fetch-Mode': 'navigate',
        'Sec-Fetch-Site': 'none',
        'Sec-Fetch-User': '?1',
        'TE': 'trailers',
    }
    requests.packages.urllib3.disable_warnings(category=InsecureRequestWarning)
    post_params = json.dumps({'command': command, 'body': body})
    basic = HTTPBasicAuth(local_config["user_1c"].encode("utf8"), local_config["password_1c"])
    try:
     response = requests.post(local_config["url_1c"], headers=headers,data=post_params, verify=False,auth=basic)
     res=json.loads(response.text)
     if "error" not in res:
         return {"error": True, "result": f"Ошибка выполнения запроса {e} {response} {response.text}"}
     return res
    except Exception as e:
      return {"error":True,"result":f"Ошибка выполнения запроса {e} {response} {response.text}"}

Стал выдавать:

Решение: указать кодировку тела возврата принудительно:

     response = requests.post(local_config["url_1c"], headers=headers,data=post_params, verify=False,auth=basic)
     response.encoding = 'utf-8'
     res=json.loads(response.text)

Результат:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.