【问题标题】:How to get ipv6 address in flask?如何在烧瓶中获取 ipv6 地址?
【发布时间】:2019-01-16 11:59:55
【问题描述】:

每当我的 api 端点被命中时,我都会尝试获取客户端的 ipv6(如果存在)或 ipv4 地址。代码如下:

from flask import request
from flask import jsonify

@app.route("/ip", methods=["GET"])
def ip():
    return jsonify({'ip': request.remote_addr})

但是目前只返回客户端的ipv4地址。是否可以获取客户端的 ipv6 地址?

【问题讨论】:

    标签: python networking flask ip


    【解决方案1】:

    您可以指定一个 ipv6 地址来启动您的应用程序

    from flask import Flask, request
    
    app = Flask(__name__)
    
    @app.route('/')
    def index():
        return "hello there %s" % request.remote_addr
    
    app.run(host='::')
    

    对于http://127.0.0.1:5000/,这将产生

    你好 ::ffff:127.0.0.1

    然后输出

     * Running on http://[::]:5000/ (Press CTRL+C to quit)
    ::ffff:127.0.0.1 - - [09/Aug/2018 10:06:45] "GET / HTTP/1.1" 200 -
    

    对于http://localhost:5000/

    你好 ::1

     * Running on http://[::]:5000/ (Press CTRL+C to quit)
    ::1 - - [09/Aug/2018 10:11:25] "GET / HTTP/1.1" 200 -
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-02-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-23
      • 2012-07-19
      • 2014-01-11
      • 2015-06-05
      相关资源
      最近更新 更多