@@ -142,6 +142,7 @@ def getPage(**kwargs):
142142 cookie = kwargs .get ('cookie' , None )
143143 ua = kwargs .get ('ua' , None )
144144 referer = kwargs .get ('referer' , None )
145+ host = kwargs .get ('host' , conf .host )
145146 direct = kwargs .get ('direct' , False )
146147 multipart = kwargs .get ('multipart' , False )
147148 silent = kwargs .get ('silent' , False )
@@ -237,7 +238,7 @@ def getPage(**kwargs):
237238
238239 requestMsg += " %s" % httplib .HTTPConnection ._http_vsn_str
239240
240- # Perform HTTP request
241+ # Prepare HTTP headers
241242 headers = forgeHeaders (cookie , ua , referer )
242243
243244 if conf .realTest :
@@ -251,7 +252,7 @@ def getPage(**kwargs):
251252
252253 headers [HTTPHEADER .ACCEPT ] = HTTP_ACCEPT_HEADER_VALUE
253254
254- headers [HTTPHEADER .HOST ] = getHostHeader (url )
255+ headers [HTTPHEADER .HOST ] = host or getHostHeader (url )
255256
256257 if auxHeaders :
257258 for key , item in auxHeaders .items ():
@@ -533,6 +534,7 @@ def queryPage(value=None, place=None, content=False, getRatioValue=False, silent
533534 cookie = None
534535 ua = None
535536 referer = None
537+ host = None
536538 page = None
537539 pageLength = None
538540 uri = None
@@ -596,6 +598,9 @@ def queryPage(value=None, place=None, content=False, getRatioValue=False, silent
596598 if PLACE .REFERER in conf .parameters :
597599 referer = conf .parameters [PLACE .REFERER ] if place != PLACE .REFERER or not value else value
598600
601+ if PLACE .HOST in conf .parameters :
602+ host = conf .parameters [PLACE .HOST ] if place != PLACE .HOST or not value else value
603+
599604 if PLACE .URI in conf .parameters :
600605 uri = conf .url if place != PLACE .URI or not value else value
601606 else :
@@ -688,7 +693,7 @@ def _randomizeParameter(paramString, randomParameter):
688693 if conf .safUrl and conf .saFreq > 0 :
689694 kb .queryCounter += 1
690695 if kb .queryCounter % conf .saFreq == 0 :
691- Connect .getPage (url = conf .safUrl , cookie = cookie , direct = True , silent = True , ua = ua , referer = referer )
696+ Connect .getPage (url = conf .safUrl , cookie = cookie , direct = True , silent = True , ua = ua , referer = referer , host = host )
692697
693698 start = time .time ()
694699
@@ -701,7 +706,7 @@ def _randomizeParameter(paramString, randomParameter):
701706
702707 auxHeaders [HTTPHEADER .RANGE ] = "bytes=-1"
703708
704- _ , headers , code = Connect .getPage (url = uri , get = get , post = post , cookie = cookie , ua = ua , referer = referer , silent = silent , method = method , auxHeaders = auxHeaders , raise404 = raise404 )
709+ _ , headers , code = Connect .getPage (url = uri , get = get , post = post , cookie = cookie , ua = ua , referer = referer , host = host , silent = silent , method = method , auxHeaders = auxHeaders , raise404 = raise404 )
705710
706711 if headers :
707712 if kb .nullConnection == NULLCONNECTION .HEAD and HTTPHEADER .CONTENT_LENGTH in headers :
@@ -710,7 +715,7 @@ def _randomizeParameter(paramString, randomParameter):
710715 pageLength = int (headers [HTTPHEADER .CONTENT_RANGE ][headers [HTTPHEADER .CONTENT_RANGE ].find ('/' ) + 1 :])
711716
712717 if not pageLength :
713- page , headers , code = Connect .getPage (url = uri , get = get , post = post , cookie = cookie , ua = ua , referer = referer , silent = silent , method = method , auxHeaders = auxHeaders , response = response , raise404 = raise404 , ignoreTimeout = timeBasedCompare )
718+ page , headers , code = Connect .getPage (url = uri , get = get , post = post , cookie = cookie , ua = ua , referer = referer , host = host , silent = silent , method = method , auxHeaders = auxHeaders , response = response , raise404 = raise404 , ignoreTimeout = timeBasedCompare )
714719
715720 threadData .lastQueryDuration = calculateDeltaSeconds (start )
716721
0 commit comments