@@ -110,7 +110,6 @@ class WebSocketException(Exception):
110110from lib .request .direct import direct
111111from lib .request .comparison import comparison
112112from lib .request .methodrequest import MethodRequest
113- from thirdparty .multipart import multipartpost
114113from thirdparty .odict .odict import OrderedDict
115114from thirdparty .socks .socks import ProxyError
116115
@@ -242,7 +241,7 @@ def getPage(**kwargs):
242241 referer = kwargs .get ("referer" , None ) or conf .referer
243242 host = kwargs .get ("host" , None ) or conf .host
244243 direct_ = kwargs .get ("direct" , False )
245- multipart = kwargs .get ("multipart" , False )
244+ multipart = kwargs .get ("multipart" , None )
246245 silent = kwargs .get ("silent" , False )
247246 raise404 = kwargs .get ("raise404" , True )
248247 timeout = kwargs .get ("timeout" , None ) or conf .timeout
@@ -254,6 +253,9 @@ def getPage(**kwargs):
254253 crawling = kwargs .get ("crawling" , False )
255254 skipRead = kwargs .get ("skipRead" , False )
256255
256+ if multipart :
257+ post = multipart
258+
257259 websocket_ = url .lower ().startswith ("ws" )
258260
259261 if not urlparse .urlsplit (url ).netloc :
@@ -298,20 +300,6 @@ def getPage(**kwargs):
298300 params = urlencode (params )
299301 url = "%s?%s" % (url , params )
300302
301- elif multipart :
302- # Needed in this form because of potential circle dependency
303- # problem (option -> update -> connect -> option)
304- from lib .core .option import proxyHandler
305-
306- multipartOpener = urllib2 .build_opener (proxyHandler , multipartpost .MultipartPostHandler )
307- conn = multipartOpener .open (unicodeencode (url ), multipart )
308- page = Connect ._connReadProxy (conn ) if not skipRead else None
309- responseHeaders = conn .info ()
310- responseHeaders [URI_HTTP_HEADER ] = conn .geturl ()
311- page = decodePage (page , responseHeaders .get (HTTP_HEADER .CONTENT_ENCODING ), responseHeaders .get (HTTP_HEADER .CONTENT_TYPE ))
312-
313- return page
314-
315303 elif any ((refreshing , crawling )):
316304 pass
317305
@@ -364,7 +352,7 @@ def getPage(**kwargs):
364352 if not getHeader (headers , HTTP_HEADER .ACCEPT_ENCODING ):
365353 headers [HTTP_HEADER .ACCEPT_ENCODING ] = HTTP_ACCEPT_ENCODING_HEADER_VALUE if kb .pageCompress else "identity"
366354
367- if post is not None and not getHeader (headers , HTTP_HEADER .CONTENT_TYPE ):
355+ if post is not None and not multipart and not getHeader (headers , HTTP_HEADER .CONTENT_TYPE ):
368356 headers [HTTP_HEADER .CONTENT_TYPE ] = POST_HINT_CONTENT_TYPES .get (kb .postHint , DEFAULT_CONTENT_TYPE )
369357
370358 if headers .get (HTTP_HEADER .CONTENT_TYPE ) == POST_HINT_CONTENT_TYPES [POST_HINT .MULTIPART ]:
@@ -455,9 +443,10 @@ class _(dict):
455443
456444 requestMsg += "\n "
457445
458- threadData .lastRequestMsg = requestMsg
446+ if not multipart :
447+ threadData .lastRequestMsg = requestMsg
459448
460- logger .log (CUSTOM_LOGGING .TRAFFIC_OUT , requestMsg )
449+ logger .log (CUSTOM_LOGGING .TRAFFIC_OUT , requestMsg )
461450
462451 if conf .cj :
463452 for cookie in conf .cj :
@@ -578,7 +567,8 @@ class _(dict):
578567 elif conf .verbose > 5 :
579568 responseMsg += "%s\n \n %s" % (logHeaders , (page or "" )[:MAX_CONNECTION_CHUNK_SIZE ])
580569
581- logger .log (CUSTOM_LOGGING .TRAFFIC_IN , responseMsg )
570+ if not multipart :
571+ logger .log (CUSTOM_LOGGING .TRAFFIC_IN , responseMsg )
582572
583573 if ex .code == httplib .UNAUTHORIZED and not conf .ignore401 :
584574 errMsg = "not authorized, try to provide right HTTP "
@@ -711,7 +701,8 @@ class _(dict):
711701 elif conf .verbose > 5 :
712702 responseMsg += "%s\n \n %s" % (logHeaders , (page or "" )[:MAX_CONNECTION_CHUNK_SIZE ])
713703
714- logger .log (CUSTOM_LOGGING .TRAFFIC_IN , responseMsg )
704+ if not multipart :
705+ logger .log (CUSTOM_LOGGING .TRAFFIC_IN , responseMsg )
715706
716707 return page , responseHeaders , code
717708
0 commit comments