2012-10-26 79 views
2

获取用户主机/域名的最简单方法是什么? 还是有一个函数来查找用户的IP地址,看它是否绑定到一个指定的地址? (即PHP中的gethostbyaddr())Django获取客户端的域名/主机名

HttpRequest.get_host()只返回用户的IP地址。

回答

4

你不能依赖它,但你可以从META字典request的尝试request.META['REMOTE_HOST']request.META['HTTP_HOST']

包含所有可用HTTP标准的Python字典头。有效的头信息在客户端和服务器上,但这里有一些例子:

- REMOTE_HOST -- The hostname of the client. 
- HTTP_HOST -- The HTTP Host header sent by the client. 
+1

+1“你不能依赖它”。这是非常正确的。网络配置可以屏蔽或完全隐藏用户机器的IP地址。许多地方出于安全原因故意做它,其他人则因NAT而做。尝试进行反向查找会导致一些相当不正确的结果。 –

+0

这与HttpRequest.get_host()有什么不同?那个报道的地址是什么? –

+0

** HttpRequest.get_host()**为您提供**请求的**主机名。您自己网站的主机名。 –

0

您可以只打印HttpRequest.META,找到你想要什么,我想req.META['HTTP_ORIGIN']是你需要的东西,这是一样的浏览器地址栏值。

相关问题