2020from lib .core .common import readInput
2121from lib .core .common import getFilteredPageContent
2222from lib .core .common import getUnicode
23+ from lib .core .common import logHTTPTraffic
2324from lib .core .convert import urlencode
2425from lib .core .common import urlEncodeCookieValues
2526from lib .core .data import conf
@@ -61,6 +62,13 @@ def getPage(**kwargs):
6162 delay = 0.00001 * (conf .cpuThrottle ** 2 )
6263 time .sleep (delay )
6364
65+ kb .locks .reqLock .acquire ()
66+
67+ kb .lastRequestUID += 1
68+ requestID = kb .lastRequestUID
69+
70+ kb .locks .reqLock .release ()
71+
6472 url = kwargs .get ('url' , conf .url ).replace (" " , "%20" )
6573 get = kwargs .get ('get' , None )
6674 post = kwargs .get ('post' , None )
@@ -76,14 +84,12 @@ def getPage(**kwargs):
7684
7785 page = ""
7886 cookieStr = ""
79- requestMsg = "HTTP request:\n %s " % conf .method
87+ requestMsg = "HTTP request [#%d] :\n %s " % ( requestID , conf .method )
8088 requestMsg += "%s" % urlparse .urlsplit (url )[2 ] or "/"
8189 responseMsg = "HTTP response "
8290 requestHeaders = ""
8391 responseHeaders = ""
8492
85- kb .lastRequestUID += 1
86-
8793 try :
8894 if silent :
8995 socket .setdefaulttimeout (3 )
@@ -277,12 +283,14 @@ def getPage(**kwargs):
277283 page = sanitizeAsciiString (page )
278284 parseResponse (page , responseHeaders )
279285
280- responseMsg += "(%s - %d):\n " % (status , code )
286+ responseMsg += "[#%d] (%s - %d):\n " % (requestID , status , code )
287+
288+ logHTTPTraffic (requestMsg , "%s%s\n %s" % (responseMsg , headers , page ))
281289
282290 if conf .verbose <= 5 :
283- responseMsg += getUnicode (responseHeaders .__str__ ())
291+ responseMsg += getUnicode (headers .__str__ ())
284292 elif conf .verbose > 5 :
285- responseMsg += "%s\n %s\n " % (responseHeaders , page )
293+ responseMsg += "%s\n %s\n " % (headers , page )
286294
287295 logger .log (7 , responseMsg )
288296
0 commit comments