Skip to content

Commit 1631592

Browse files
authored
Merge pull request #18 from kimcharli/master
Added socks5 proxy support
2 parents cf395e7 + 75c44ff commit 1631592

4 files changed

Lines changed: 14 additions & 4 deletions

File tree

README.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,12 @@ import logging
3030
logging.basicConfig(level=logging.INFO)
3131
logger = logging.getLogger(__name__)
3232

33-
aciclient = aciClient.ACI(apic_hostname, apic_username, apic_password, refresh=False)
33+
proxies = {
34+
'http': 'socks5://127.0.0.1:1080',
35+
'https': 'socks5://127.0.0.1:1080'
36+
}
37+
38+
aciclient = aciClient.ACI(apic_hostname, apic_username, apic_password, refresh=False, proxies=proxies)
3439
try:
3540
aciclient.login()
3641

aciClient/aci.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,11 +31,12 @@ class ACI:
3131
# ==============================================================================
3232
# constructor
3333
# ==============================================================================
34-
def __init__(self, apicIp, apicUser, apicPasword, refresh=False):
34+
def __init__(self, apicIp, apicUser, apicPasword, refresh=False, proxies=None):
3535
self.__logger.debug('Constructor called')
3636
self.apicIp = apicIp
3737
self.apicUser = apicUser
3838
self.apicPassword = apicPasword
39+
self.proxies = proxies
3940

4041
self.baseUrl = 'https://' + self.apicIp + '/api/'
4142
self.__logger.debug(f'BaseUrl set to: {self.baseUrl}')
@@ -75,6 +76,9 @@ def login(self) -> bool:
7576
self.session.mount('https://', adapter)
7677
self.__logger.debug('Session Object Created')
7778

79+
if self.proxies is not None:
80+
self.session.proxies = self.proxies
81+
7882
# create credentials structure
7983
userPass = json.dumps({'aaaUser': {'attributes': {'name': self.apicUser, 'pwd': self.apicPassword}}})
8084

requirements.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
pyOpenSSL>=23.0.0, <26
2-
requests>=2.26.0 , <3
2+
requests[socks]>=2.26.0 , <3
33
requests-mock
44
pytest
55
flake8
6+
pysocks==1.7.1

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
author_email='nc_dev@netcloud.ch',
1515
license='MIT',
1616
packages=['aciClient'],
17-
install_requires=['requests>=2.26.0 , <3', 'pyOpenSSL>=23.0.0, <26'],
17+
install_requires=['requests[socks]>=2.26.0 , <3', 'pyOpenSSL>=23.0.0, <26', 'PySocks>=1.7.1, <2'],
1818
long_description=long_description,
1919
long_description_content_type='text/markdown',
2020
python_requires=">=3.6",

0 commit comments

Comments
 (0)