我使用django构建我的Web服务器,其他人以客户端身份连接到我。现在我需要了解客户'端口号来区分它们。如果他们的浏览器打开两个标签'相同的链接,即两个页面,但相同的链接,我也必须区分它们。
虽然我知道我可以使用 request.META [' REMOTE_ADDR'] 来获取我的django视图功能中的客户端IP,但这真的不够对我来说。
然后我研究了一些TCP / IP基础知识,然后我知道在TCP / IP层,每个IP数据包都有一个IP头,其中包含客户端的端口号。但是如何在django中访问它?
其他信息:
答案 0 :(得分:1)
以下是会话文档:
答案 1 :(得分:0)
是的,经过几天的挣扎之后,我回答一下,在“如何在Django中获取客户端端口”中使用了一个有效但又难看的解决方案。
,找到def process_request_thread
,添加
global gClientPort; gClientPort = client_address
在yout项目中使用此全局值。例如,它的格式是('12 .34.56.78',55437)。 55437是端口号。
答案 2 :(得分:0)
在调试django时,我发现了
request.environ["wsgi.input"].raw._sock.getpeername()
也许可以正常工作