首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Flask request.remote_addr在网站上是错误的,没有显示真实的用户IP

Flask request.remote_addr在网站上是错误的,没有显示真实的用户IP
EN

Stack Overflow用户
提问于 2012-10-08 01:09:15
回答 3查看 38.8K关注 0票数 29

我刚刚在网络派别上部署了一个Flask应用程序,我注意到request.remote_addr总是127.0.0.1。这当然没有多大用处。

怎样才能获取用户在Flask on Webfaction中的真实IP地址?

谢谢!

EN

回答 3

Stack Overflow用户

发布于 2013-09-04 01:38:51

重写Ignas的答案:

代码语言:javascript
复制
headers_list = request.headers.getlist("X-Forwarded-For")
user_ip = headers_list[0] if headers_list else request.remote_addr

请记住阅读有关欺骗注意事项的Eli's post

票数 7
EN

Stack Overflow用户

发布于 2014-04-25 07:14:15

您可以使用request.access_route访问ip列表:

代码语言:javascript
复制
if len(request.access_route) > 1:
    return request.access_route[-1]
else:
    return request.access_route[0]

更新:

你可以这样写:

代码语言:javascript
复制
    return request.access_route[-1]
票数 5
EN

Stack Overflow用户

发布于 2012-10-08 01:12:49

问题是在Flask前面可能有某种代理。在这种情况下,“真正的”IP地址通常可以在request.headers['X-Forwarded-For']中找到。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12770950

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档