Skip to content
This repository was archived by the owner on Aug 7, 2024. It is now read-only.

Commit 4566600

Browse files
committed
Proxy feature added
1 parent 0341e60 commit 4566600

1 file changed

Lines changed: 13 additions & 9 deletions

File tree

twitter/api.py

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,8 @@ def __init__(self,
155155
debugHTTP=False,
156156
timeout=None,
157157
sleep_on_rate_limit=False,
158-
tweet_mode='compat'):
158+
tweet_mode='compat',
159+
proxies=None):
159160
"""Instantiate a new twitter.Api object.
160161
161162
Args:
@@ -229,6 +230,7 @@ def __init__(self,
229230
self.rate_limit = RateLimit()
230231
self.sleep_on_rate_limit = sleep_on_rate_limit
231232
self.tweet_mode = tweet_mode
233+
self.proxies = proxies
232234

233235
if base_url is None:
234236
self.base_url = 'https://api.twitter.com/1.1'
@@ -4872,7 +4874,8 @@ def _RequestChunkedUpload(self, url, headers, data):
48724874
headers=headers,
48734875
data=data,
48744876
auth=self.__auth,
4875-
timeout=self._timeout
4877+
timeout=self._timeout,
4878+
proxies=self.proxies
48764879
)
48774880
except requests.RequestException as e:
48784881
raise TwitterError(str(e))
@@ -4909,20 +4912,20 @@ def _RequestUrl(self, url, verb, data=None, json=None):
49094912
if data:
49104913
if 'media_ids' in data:
49114914
url = self._BuildUrl(url, extra_params={'media_ids': data['media_ids']})
4912-
resp = requests.post(url, data=data, auth=self.__auth, timeout=self._timeout)
4915+
resp = requests.post(url, data=data, auth=self.__auth, timeout=self._timeout, proxies=self.proxies)
49134916
elif 'media' in data:
4914-
resp = requests.post(url, files=data, auth=self.__auth, timeout=self._timeout)
4917+
resp = requests.post(url, files=data, auth=self.__auth, timeout=self._timeout, proxies=self.proxies)
49154918
else:
4916-
resp = requests.post(url, data=data, auth=self.__auth, timeout=self._timeout)
4919+
resp = requests.post(url, data=data, auth=self.__auth, timeout=self._timeout, proxies=self.proxies)
49174920
elif json:
4918-
resp = requests.post(url, json=json, auth=self.__auth, timeout=self._timeout)
4921+
resp = requests.post(url, json=json, auth=self.__auth, timeout=self._timeout, proxies=self.proxies)
49194922
else:
49204923
resp = 0 # POST request, but without data or json
49214924

49224925
elif verb == 'GET':
49234926
data['tweet_mode'] = self.tweet_mode
49244927
url = self._BuildUrl(url, extra_params=data)
4925-
resp = requests.get(url, auth=self.__auth, timeout=self._timeout)
4928+
resp = requests.get(url, auth=self.__auth, timeout=self._timeout, proxies=self.proxies)
49264929

49274930
else:
49284931
resp = 0 # if not a POST or GET request
@@ -4954,14 +4957,15 @@ def _RequestStream(self, url, verb, data=None):
49544957
try:
49554958
return requests.post(url, data=data, stream=True,
49564959
auth=self.__auth,
4957-
timeout=self._timeout)
4960+
timeout=self._timeout,
4961+
proxies=self.proxies)
49584962
except requests.RequestException as e:
49594963
raise TwitterError(str(e))
49604964
if verb == 'GET':
49614965
url = self._BuildUrl(url, extra_params=data)
49624966
try:
49634967
return requests.get(url, stream=True, auth=self.__auth,
4964-
timeout=self._timeout)
4968+
timeout=self._timeout, proxies=self.proxies)
49654969
except requests.RequestException as e:
49664970
raise TwitterError(str(e))
49674971
return 0 # if not a POST or GET request

0 commit comments

Comments
 (0)