1212except ImportError :
1313 pycurl = None
1414
15- import urllib2
15+ try :
16+ # Python 3
17+ from urllib .parse import urlencode
18+ from urllib .request import Request , urlopen
19+ from urllib .error import HTTPError
20+ except ImportError :
21+ # Python 2
22+ from urllib import urlencode
23+ from urllib2 import Request , urlopen , HTTPError
24+
25+ try :
26+ # Python 3
27+ from io import StringIO
28+ except ImportError :
29+ # Python 2
30+ from StringIO import StringIO
1631
17- from urllib import urlencode
18- from StringIO import StringIO
1932import json as json_lib
2033import re
2134import base64
@@ -223,7 +236,7 @@ def _urllib_post(self, url,
223236 raw_store = json
224237
225238 raw_request = json_lib .dumps (json ) if json else urlencode (data )
226- url_request = urllib2 . Request (url ,data = raw_request )
239+ url_request = Request (url ,data = raw_request )
227240 if json :
228241 url_request .add_header ('Content-Type' ,'application/json' )
229242 elif not data :
@@ -248,8 +261,8 @@ def _urllib_post(self, url,
248261
249262 #URLlib raises all non 200 responses as en error.
250263 try :
251- response = urllib2 . urlopen (url_request , timeout = timeout )
252- except urllib2 . HTTPError as e :
264+ response = urlopen (url_request , timeout = timeout )
265+ except HTTPError as e :
253266 raw_response = e .read ()
254267
255268 return raw_response , raw_request , e .getcode (), e .headers
0 commit comments