From 3b1c1928fdb49d56c752d489123a14ffdc516e36 Mon Sep 17 00:00:00 2001 From: Eriks K Date: Tue, 29 Sep 2020 10:52:14 +0300 Subject: [PATCH] =?UTF-8?q?Added=20proxy=20support=20=F0=9F=98=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- erepublik/access_points.py | 12 +++++++++++- requirements_dev.txt | 4 ++-- setup.py | 2 +- 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/erepublik/access_points.py b/erepublik/access_points.py index 5fa4aeb..836b404 100644 --- a/erepublik/access_points.py +++ b/erepublik/access_points.py @@ -38,8 +38,10 @@ class SlowRequests(Session): ] debug: bool = False - def __init__(self): + def __init__(self, proxies: Dict[str, str] = None): super().__init__() + if proxies: + self.proxies = proxies self.request_log_name = utils.get_file(utils.now().strftime("debug/requests_%Y-%m-%d.log")) self.last_time = utils.now() self.headers.update({ @@ -132,6 +134,14 @@ class CitizenBaseAPI: def _get_main(self) -> Response: return self.get(self.url) + def set_socks_proxy(self, host: str, port: int, username: str = None, password: str = None): + url = f'socks5://{username}:{password}@{host}:{port}' if username and password else f'socks5://{host}:{port}' + self._req.proxies = dict(http=url, https=url) + + def set_http_proxy(self, host: str, port: int, username: str = None, password: str = None): + url = f'http://{username}:{password}@{host}:{port}' if username and password else f'socks5://{host}:{port}' + self._req.proxies = dict(http=url) + class ErepublikAnniversaryAPI(CitizenBaseAPI): def _post_main_collect_anniversary_reward(self) -> Response: diff --git a/requirements_dev.txt b/requirements_dev.txt index db5d4ec..9a951e1 100644 --- a/requirements_dev.txt +++ b/requirements_dev.txt @@ -7,11 +7,11 @@ isort==5.5.3 pip==20.2.3 PyInstaller==4.0 pytz==2020.1 -pytest==6.0.2 +pytest==6.1.0 responses==0.12.0 setuptools==50.3.0 Sphinx==3.2.1 -requests==2.24.0 +requests[socks]==2.24.0 tox==3.20.0 twine==3.2.0 watchdog==0.10.3 diff --git a/setup.py b/setup.py index 8ed3bc1..1cba71a 100644 --- a/setup.py +++ b/setup.py @@ -11,7 +11,7 @@ with open('README.rst') as readme_file: with open('HISTORY.rst') as history_file: history = history_file.read() -requirements = ['pytz==2020.1', 'requests==2.24.0'] +requirements = ['pytz==2020.1', 'requests[socks]==2.24.0'] setup_requirements = []