@@ -161,8 +161,10 @@ def __init__(self,
161161 debugHTTP = False ,
162162 timeout = None ,
163163 sleep_on_rate_limit = False ,
164- tweet_mode = 'extended' ,
165- proxies = None ):
164+ tweet_mode = 'compat' ,
165+ proxies = None ,
166+ verify_ssl = None ,
167+ cert_ssl = None ):
166168 """Instantiate a new twitter.Api object.
167169
168170 Args:
@@ -216,6 +218,13 @@ def __init__(self,
216218 proxies (dict, optional):
217219 A dictionary of proxies for the request to pass through, if not specified
218220 allows requests lib to use environmental variables for proxy if any.
221+ verify_ssl (optional):
222+ Either a boolean, in which case it controls whether we verify
223+ the server's TLS certificate, or a string, in which case it must be a path
224+ to a CA bundle to use. Defaults to ``True``.
225+ cert_ssl (optional):
226+ If String, path to ssl client cert file (.pem).
227+ If Tuple, ('cert', 'key') pair.
219228 """
220229
221230 # check to see if the library is running on a Google App Engine instance
@@ -247,6 +256,8 @@ def __init__(self,
247256 self .sleep_on_rate_limit = sleep_on_rate_limit
248257 self .tweet_mode = tweet_mode
249258 self .proxies = proxies
259+ self .verify_ssl = verify_ssl
260+ self .cert_ssl = cert_ssl
250261
251262 self .base_url = base_url or 'https://api.twitter.com/1.1'
252263 self .stream_url = stream_url or 'https://stream.twitter.com/1.1'
@@ -5096,7 +5107,9 @@ def _RequestChunkedUpload(self, url, headers, data):
50965107 data = data ,
50975108 auth = self .__auth ,
50985109 timeout = self ._timeout ,
5099- proxies = self .proxies
5110+ proxies = self .proxies ,
5111+ verify = self .verify_ssl ,
5112+ cert = self .cert_ssl
51005113 )
51015114 except requests .RequestException as e :
51025115 raise TwitterError (str (e ))
@@ -5137,20 +5150,20 @@ def _RequestUrl(self, url, verb, data=None, json=None, enforce_auth=True):
51375150 if data :
51385151 if 'media_ids' in data :
51395152 url = self ._BuildUrl (url , extra_params = {'media_ids' : data ['media_ids' ]})
5140- resp = self ._session .post (url , data = data , auth = self .__auth , timeout = self ._timeout , proxies = self .proxies )
5153+ resp = self ._session .post (url , data = data , auth = self .__auth , timeout = self ._timeout , proxies = self .proxies , verify = self . verify_ssl , cert = self . cert_ssl )
51415154 elif 'media' in data :
5142- resp = self ._session .post (url , files = data , auth = self .__auth , timeout = self ._timeout , proxies = self .proxies )
5155+ resp = self ._session .post (url , files = data , auth = self .__auth , timeout = self ._timeout , proxies = self .proxies , verify = self . verify_ssl , cert = self . cert_ssl )
51435156 else :
5144- resp = self ._session .post (url , data = data , auth = self .__auth , timeout = self ._timeout , proxies = self .proxies )
5157+ resp = self ._session .post (url , data = data , auth = self .__auth , timeout = self ._timeout , proxies = self .proxies , verify = self . verify_ssl , cert = self . cert_ssl )
51455158 elif json :
5146- resp = self ._session .post (url , json = json , auth = self .__auth , timeout = self ._timeout , proxies = self .proxies )
5159+ resp = self ._session .post (url , json = json , auth = self .__auth , timeout = self ._timeout , proxies = self .proxies , verify = self . verify_ssl , cert = self . cert_ssl )
51475160 else :
51485161 resp = 0 # POST request, but without data or json
51495162
51505163 elif verb == 'GET' :
51515164 data ['tweet_mode' ] = self .tweet_mode
51525165 url = self ._BuildUrl (url , extra_params = data )
5153- resp = self ._session .get (url , auth = self .__auth , timeout = self ._timeout , proxies = self .proxies )
5166+ resp = self ._session .get (url , auth = self .__auth , timeout = self ._timeout , proxies = self .proxies , verify = self . verify_ssl , cert = self . cert_ssl )
51545167
51555168 else :
51565169 resp = 0 # if not a POST or GET request
@@ -5185,14 +5198,17 @@ def _RequestStream(self, url, verb, data=None, session=None):
51855198 return session .post (url , data = data , stream = True ,
51865199 auth = self .__auth ,
51875200 timeout = self ._timeout ,
5188- proxies = self .proxies )
5201+ proxies = self .proxies ,
5202+ verify = self .verify_ssl ,
5203+ cert = self .cert_ssl )
51895204 except requests .RequestException as e :
51905205 raise TwitterError (str (e ))
51915206 if verb == 'GET' :
51925207 url = self ._BuildUrl (url , extra_params = data )
51935208 try :
51945209 return session .get (url , stream = True , auth = self .__auth ,
5195- timeout = self ._timeout , proxies = self .proxies )
5210+ timeout = self ._timeout , proxies = self .proxies ,
5211+ verify = self .verify_ssl , cert = self .cert_ssl )
51965212 except requests .RequestException as e :
51975213 raise TwitterError (str (e ))
51985214 return 0 # if not a POST or GET request
0 commit comments