http获取用户访问的IP地址

获取用户访问的IP地址:

如果用户是正常情况下其字典的KEY键名为REMOTE_ADDR

request.META['REMOTE_ADDR']

但是有些网站服务器会使用nginx等代理http,或者是该网站做了负载均衡,导致使用remote_addr抓取到的是127.0.0.1,这时使用HTTP_X_FORWARDED_FOR才获得是用户的真实IP。推荐使用以下代码:

if 'HTTP_X_FORWARDED_FOR' in request.META:
   ip = request.META.get('HTTP_X_FORWARDED_FOR')
else:
   ip = request.META.get('REMOTE_ADDR')
相关推荐
Tony聊跨境27 分钟前
什么是 SSL 代理?
网络·网络协议·ssl
汀、人工智能2 小时前
报错error: RPC failed,curl 16 Error in the HTTP2 framing layer解决方法
网络·git·网络协议·rpc
就这个java爽!4 小时前
JAVA网络编程【基于TCP和UDP协议】超详细!!!
java·开发语言·网络·tcp/ip·udp·eclipse·idea
一叶飘零_sweeeet4 小时前
为什么 Feign 要用 HTTP 而不是 RPC?
java·网络协议·http·spring cloud·rpc·feign
KookeeyLena74 小时前
动态IP与静态IP:哪种更适合用户使用?
网络·网络协议·tcp/ip
时之彼岸Φ5 小时前
Web:HTTP包的相关操作
网络·网络协议·http
秋已杰爱5 小时前
HTTP中的Cookie与Session
服务器·网络协议·http
W21556 小时前
LINUX网络编程:http
网络·网络协议·http
DieSnowK8 小时前
[项目][WebServer][Makefile & Shell]详细讲解
开发语言·c++·http·makefile·shell·项目·webserver
pemper_8 小时前
怎么操作使http变成https访问?
网络·网络协议·http·https·ssl