BaseHTTPRequestHandler
는 기본적으로 파일 self.rfile
에서 읽고 self.wfile
에 기록 StreamRequestHandler
에서 유래, 그래서 당신은 BaseHTTPRequestHandler
에서 클래스를 파생하고, 예를 들어 자신의 rfile과에 WFile를 제공 할 수 있습니다
import StringIO
from BaseHTTPServer import BaseHTTPRequestHandler
class MyHandler(BaseHTTPRequestHandler):
def __init__(self, inText, outFile):
self.rfile = StringIO.StringIO(inText)
self.wfile = outFile
BaseHTTPRequestHandler.__init__(self, "", "", "")
def setup(self):
pass
def handle(self):
BaseHTTPRequestHandler.handle(self)
def finish(self):
BaseHTTPRequestHandler.finish(self)
def address_string(self):
return "dummy_server"
def do_GET(self):
self.send_response(200)
self.send_header("Content-type", "text/html")
self.end_headers()
self.wfile.write("<html><head><title>WoW</title></head>")
self.wfile.write("<body><p>This is a Total Wowness</p>")
self.wfile.write("</body></html>")
outFile = StringIO.StringIO()
handler = MyHandler("GET /wow HTTP/1.1", outFile)
print ''.join(outFile.buflist)
출력 : 이것에 대한
dummy_server - - [15/Dec/2009 19:22:24] "GET /wow HTTP/1.1" 200 -
HTTP/1.0 200 OK
Server: BaseHTTP/0.3 Python/2.5.1
Date: Tue, 15 Dec 2009 13:52:24 GMT
Content-type: text/html
<html><head><title>WoW</title></head><body><p>This is a Total Wowness</p></body></html>
감사합니다. 그러나, 나는 진짜로 그것에게 원시 TCP 데이터를주고 원시 TCP 데이터 응답을 되찾고 싶다. – Alex
트위스티드 (http://twistedmatrix.com/)가 도움을 줄 수도 있고 이에 대한 답변 일 수도 있습니다. http://stackoverflow.com/questions/1581087/python-tcp-stack-implementation –
도 http://www.secdev.org/projects/scapy/doc/introduction.html?highlight=syn을 참조하십시오. –