gpt4 book ai didi

python - 如何从 SimpleHTTPServer 获取客户端 IP

转载 作者:可可西里 更新时间:2023-11-01 16:28:07 25 4
gpt4 key购买 nike

使用 Python 中的 SimpleHTTPServer 模块构建一个简单的文件服务器,但是我在尝试从连接的客户端获取 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: class SimpleHTTPRequestHandler has no attribute 'client_address'

我知道这是因为我还没有实例化这个类,但是有没有另一种方法可以从客户端获取 IP 而不必创建处理程序实例?建立连接后,客户端的 IP 会输出到控制台,我只需要一种在我的脚本中获取该 IP 的方法。

谢谢!

最佳答案

确实,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()

关于python - 如何从 SimpleHTTPServer 获取客户端 IP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37055005/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com