【发布时间】:2019-02-06 23:32:46
【问题描述】:
我有一个小的 Python 代码来读取访问我的 Flask 网站的客户端的 IP 地址,该网站托管在 pythonanywhere.com 上:
from flask import Flask, request
app = Flask(__name__)
@app.route('/')
def hello_world():
ipread1 = request.environ.get('HTTP_X_REAL_IP', request.remote_addr)
print("The client IP1 is: %s" % (ipread1))
return 'Hello World!'
if __name__ == '__main__':
app.run()
每次刷新网页时,这都会在服务器日志中正确返回我的 IPv4 地址。但是,我希望它提供我的 IPv6 地址(我已经检查过我确实有)。
为此,我尝试过更改:
app.run() 到 app.run(host='::')
但这仍然只是提供了我的 IPv4 地址。如何强制 Python 提供我的 IPv6 地址?
【问题讨论】:
-
要获得 IPv6 地址,对端必须通过 IPv6 连接。
-
有没有办法通过 IPv6 强制连接?