在Python中获取远程IP地址

时间:2013-06-02 02:01:01

标签: python

如何在Python中获取远程IP地址?

我尝试搜索Google但找不到任何有用的结果。 os.environ['REMOTE_ADDR']正在提供KeyError: 'REMOTE_ADDR'

2 个答案:

答案 0 :(得分:3)

您正在访问操作系统的os环境,而不是request

WSGI callable应该传递两个变量environstart_response,而environ变量将包含您正在寻找的变量。

如果您运行os.environ应用,那些变量只会出现在实际的CGI中。


根据您使用的网络框架,您可能无法访问此框架。如果您传递了request个对象,则可能会以request.META或类似的方式结束。

如果你没有使用任何框架,那将在the environ dict that is passed to your wsgi callable

如另一个答案中所述,REMOTE_ADDR 不符合规范,但如果你使用的是Apache的mod_wsgi,它应该在那里

答案 1 :(得分:2)

如果您有权访问TCP套接字,则可以使用socket.getpeername()获取远程地址。 Docs are here.