如何在python webserver中禁用反向dns查找?

时间:2011-07-20 12:01:32

标签: python networking dns

我有一个简单的python cgi服务器:

import BaseHTTPServer
import CGIHTTPServer
import cgitb; cgitb.enable()  ## This line enables CGI error reporting

server = BaseHTTPServer.HTTPServer
handler = CGIHTTPServer.CGIHTTPRequestHandler
server_address = ("", 8000)
httpd = server(server_address, handler)
httpd.serve_forever()

服务器对每个请求进行反向dns查找,以便在屏幕上显示日志记录。由于我在本地网络设置中运行服务器,因此没有可用的DNS服务器。所以每次反向dns查找都会导致查找超时,从而延迟服务器的响应。我怎样才能禁用DNS查找?我没有在python文档中找到答案。

1 个答案:

答案 0 :(得分:12)

您可以继承自己的处理程序类,它不会执行DNS查找。这是从http://docs.python.org/library/cgihttpserver.html#module-CGIHTTPServer开始的,CGIHTTPRequestHandler表示BaseHTTPRequestHandler与[{3}}的界面兼容,BaseHTTPRequestHandler的方法address_string()

class MyHandler(CGIHTTPServer.CGIHTTPRequestHandler):

    # Disable logging DNS lookups
    def address_string(self):
        return str(self.client_address[0])

handler = MyHandler
相关问题