使用以下命令构建一个简单的文件服务器SimpleHTTPServer
Python 中的模块,但是当我尝试从连接客户端获取 IP 时遇到问题。这是我所拥有的..
import SimpleHTTPServer
Handler = SimpleHTTPServer.SimpleHTTPRequestHandler
httpd = SocketServer.TCPServer(("", 8080), Handler)
print "Serving local directory"
while True:
httpd.handle_request()
print Handler.client_address[0]
当客户端连接时我得到..
AttributeError:SimpleHTTPRequestHandler 类没有属性“client_address”
我知道这是因为我还没有实例化该类,但是是否有另一种方法可以从客户端获取 IP,而无需创建处理程序实例?建立连接时,客户端的 IP 会输出到控制台,我只需要一种在脚本中获取该 IP 的方法。
Thanks!
确实,Handler
类对象与具体实例无关。设置您自己的处理程序类,如下所示:
import SimpleHTTPServer
import SocketServer
class MyHandler(SimpleHTTPServer.SimpleHTTPRequestHandler):
def handle_one_request(self):
print(self.client_address[0])
return SimpleHTTPServer.SimpleHTTPRequestHandler.handle_one_request(self)
print("Serving local directory")
httpd = SocketServer.TCPServer(("", 8080), MyHandler)
while True:
httpd.handle_request()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)