网页应显示打开该网页的电脑的数据(电脑名称、域名、登录名等)。对我来说,它甚至可以在网络上的远程 PC(运行 python Flask 脚本的 PC)上显示数据。这真的是应该的吗,还是我做错了什么?如果可能,请提供链接或详细说明。
import json
import os
import socket
from flask import Flask
from flask import render_template
app = Flask(__name__)
@app.route('/')
def index():
return render_template("index.html")
@app.route('/get_values')
def get_values():
login = os.getlogin()
hostname = socket.gethostname()
local_ip = socket.gethostbyname(hostname)
result = {f'"login": \"{login}\", "hostname": \"{hostname}\", "ip": \"{local_ip}\"'}
result = str(result).replace("'", "")
result = json.loads(result)
return result
if __name__ == '__main__':
app.run(host="0.0.0.0", port="5000")
有一个模板index.html,js为其添加值,但无论在哪台PC上打开站点,数据始终来自运行flask服务器的本地PC。
$.get('/get_values',
function(data)
{
$("#login").val(data.login);
$("#hostname").val(data.hostname);
$("#ip").val(data.ip);
});
我使用 PyCharm 来处理 python
当 Web 应用程序允许我以与桌面应用程序相同的方式使用其运行的本地计算机时,我需要获得结果。
Flask 旨在提供服务,它将通过其所在的本地网络来提供服务。
如果计算不是在服务器上完成,为什么还要构建 API?您可以使用所需的业务逻辑编写一个简单的 GUI 应用程序,无需涉及浏览器。