我使用flask建立了一个网站(Python 2.7)。我正在尝试将设置文件发送到访问我的网站的系统,根据该系统的规格。因此,我想访问该系统的cmd提示符,并找到一些东西: 1.正在使用的操作系统和操作系统 2.它是否安装了python。
直到现在我正在使用本地主机,所以我的代码似乎很好。
(这是检测系统的操作系统)
def index():
var3 = subprocess.call('uname -o > z2.txt' , shell = True)
if (var3 == 0):
return render_template("ch1.html") #ch1 says its ubuntu
else :
return render_template("ch2.html") #ch2 says its windows
我以前检查过其他Windows PC,它显示的窗口让我认为我的代码很好。现在,当我检查ubuntu时,它仍然显示窗口。现在我意识到subprocess.call调用系统cmd本身的命令,而不是访问我网站的系统。 我如何访问访问系统的cmd以找到他们的操作系统,使用PYTHON / Flask在他们的系统上安装python。
注意:访问我网站的所有系统都将连接到同一个wifi(如果有任何帮助)
编辑:从我的网站上访问系统安装或不安装os,bit和python是我的主要标准。它可以通过访问其他系统的cmd或以任何其他可能的方式访问。答案 0 :(得分:1)
您无法从Web服务器在客户端计算机上执行命令。否则这将是一个重大的安全问题。
您只能通过Flask请求对象读取其用户代理信息来了解客户端的操作系统名称:http://werkzeug.pocoo.org/docs/0.13/utils/#module-werkzeug.useragents
答案 1 :(得分:0)
您可以从HTTP请求检查客户端的操作系统,但这是关于它的。