2012-12-10 4 views

답변

1

"지문"은 http 세션이 시작될 때 서버가 어떻게 식별되는지를 나타냅니다. 따라서 우리는 웹 서버를 왜곡 시켰는지, 그리고 웹 서버를 식별 할 수있는 곳을 찾아야합니다.

우리가 http://twistedmatrix.com/trac/browser/tags/releases/twisted-12.2.0/twisted/web/server.py 줄에서 498 개 상태

version = "TwistedWeb/%s" % copyright.version 

을 보면 이제 다음 Request.process() 메소드에 의해 처리됩니다이 변수는

class Request(pb.Copyable, http.Request, components.Componentized): 
.... 
    def process(self): 
     "Process a request." 

     # get site from channel 
     self.site = self.channel.site 

     # set various default headers 
     self.setHeader('server', version) 
     self.setHeader('date', http.datetimeToString()) 

     # Resource Identification 
     self.prepath = [] 
     self.postpath = map(unquote, string.split(self.path[1:], '/')) 
     try: 
      resrc = self.site.getResourceFor(self) 
      self.render(resrc) 
     except: 
      self.processingFailed(failure.Failure()) 

그래서 당신은 처리 방법을 쉽게 서브 클래스 요청 및을 덮어 쓸 수 있습니다, 네가 좋아하는 일을하는거야. 이론 또는 당신은 당신의 응용 프로그램 코드에서 이런 일을 할 수있는 :

from twisted.web import server 
server.version = "COBOL HTTPD SERVICE" 

가져온 자원에서 버전 값을 오버라이드 (override).