flask获取ip地址各种方法

一:使用request.remote_addr

python 复制代码
from flask import Flask,request

app=Flask(__name__)
@app.route("/")
def getIp():
    ip_address = request.remote_addr
    return f"{ip_address}"

if __name__=="__main__":
    app.run()

简单直观,但安全性不足,适合开发环境

二:使用X-Forwarded-For结合request.remote_addr

python 复制代码
from flask import Flask,request
app=Flask(__name__)
@app.route("/")
def getIp():
    ip_address=request.headers.get("X-Forwarded-For",request.remote_addr)
    return f"{ip_address}"

app.run()

代理环境下能获取真实ip,更可靠

三;使用proxyFix中间件配置可信代理(推荐)

python 复制代码
from flask import Flask,request
from werkzeug.middleware.proxy_fix import ProxyFix

app=Flask(__name__)
if hasattr(app.wsgi_app, 'trusted_proxies'):
    app.wsgi_app.trusted_proxies = ['192.168.0.100']#改成自己可信的代理地址
app.wsgi_app=ProxyFix(app.wsgi_app,x_for=1,x_proto=1,x_host=1,x_port=1)#配置代理

@app.route("/")
def getIp():
    ip_address=request.remote_addr
    return f"{ip_address}"

app.run()

这里使用Werkzeug的ProxyFix中间件提取来自X-Forwarded-For真实ip,适合生产环境

相关推荐
满怀冰雪32 分钟前
09-使用 paddle.nn 构建第一个多层感知机
python·深度学习·神经网络·paddle
神奇霸王龙34 分钟前
GPT-Image-2 角色一致性屠榜:2026 五款图生图模型 IP 漫剧实测
人工智能·gpt·tcp/ip·ai·ai作画·prompt·音视频
想你依然心痛37 分钟前
TCP/IP协议栈深度解析:从底层原理到高性能优化实践
网络协议·tcp/ip·性能优化
小大宇1 小时前
python sqlalchemy 案例
开发语言·python
Ulyanov1 小时前
雷达导引头仿真中的坐标系——从惯性系到量测角
开发语言·python·算法·系统仿真·雷达信号处理·雷达导引头
codeboss1 小时前
做网页变更监控,我在“降噪”上踩过的 7 个坑
爬虫·python
果汁华2 小时前
CLI 命令行与 Python 框架实战
git·python·github
Maiko Star2 小时前
FastAPI 进阶三部曲:中间件、依赖注入与 ORM 实战
python·中间件·fastapi
白狐_7982 小时前
【408计算机网络|第01章|408-CN-01】计算机网络概述与体系结构:性能指标、分层、OSI与TCP/IP
网络协议·tcp/ip·计算机网络
MrDJun2 小时前
长期稳定跑网页监控:TLS 指纹、代理选路与请求节流的工程实践
运维·爬虫·python·网络协议·网站监控