2020-12-07 18:30:10
Как настроить модуль requests для pyTelegramBotAPI?
Задача выглядит простой, если вам просто нужно подключить прокси. Тогда достаточно в apihelper прописать прокси:
from telebot import apihelper
apihelper.proxy = {"https": "https://user:password@host:port"}
Но что если вам нужно внести более сложные изменения? Мне было необходимо отключить SSL-верификацию для этого прокси, поскольку работал с внешним прокси, где сертификаты настроены нормально не были. Вот тут уже простых решений pyTelegramBotAPI не предлагает. Для этого придётся переопределить функцию apihelper._get_req_session. Грамотно это можно сделать следующим образом:
from telebot import apihelper, utils
session = None
def _make_req_session():
session = requests.session()
session.verify = False
return session
def _get_req_session(reset=False):
return util.per_thread('req_session', lambda: session if session else _make_req_session(), reset)
apihelper.proxy = {"https": "https://user:password@host:port"}
apihelper._get_req_session = _get_req_session
Воистину, #костыли наше всё.
302 viewsedited 15:30