Jac*_* P. 6 python ip heroku werkzeug flask
Heroku代理从客户端到服务器的请求,因此您必须解析X-Forwarded-For以查找原始IP地址.
X-Forwarded-For的一般格式是:
X-Forwarded-For: client1, proxy1, proxy2
Run Code Online (Sandbox Code Playgroud)
在烧瓶上使用werkzeug,我试图想出一个解决方案,以便访问客户端的原始IP.
有谁知道这样做的好方法?
谢谢!
Sea*_*ira 15
Werkzeug(和Flask)将头文件存储在一个实例中werkzeug.datastructures.Headers
.你应该可以做这样的事情:
provided_ips = request.headers.getlist("X-Forwarded-For")
# The first entry in the list should be the client's IP.
Run Code Online (Sandbox Code Playgroud)
或者,您可以使用request.access_route
(感谢@Bastian指出这一点!):
provided_ips = request.access_route
# First entry in the list is the client's IP
Run Code Online (Sandbox Code Playgroud)