我有空答案的问题,代码在这里:
views.py
def home(request):
ime = request.META['REMOTE_HOST']
return HttpResponse('Welcome, %s.' %ime)
我得到了:
Welcome, .
回答。这里似乎有什么问题?
答案 0 :(得分:2)
在我的项目中,我也遇到了这个问题。
但我使用socket方法让客户端主机解决这个问题,详情如下:
def welcome(request):
try:
real_ip = request.META['HTTP_X_FORWARDED_FOR']
regip = real_ip.split(",")[0]
except:
try:
regip = request.META['REMOTE_ADDR']
except:
regip = ""
print(regip)
if(regip == "127.0.0.1"):
myHost=socket.gethostname()
else:
resultHost = socket.gethostbyaddr(regip)
myHost=resultHost[0]
print(myHost)
答案 1 :(得分:1)
REMOTE_HOST
标头不是强制性的。尝试打印您的request.META
字典,以查看实际在HTTP标头上传递的内容。或者您可以在开发模式下使用浏览器来查看。