Python 使用flask获取访问我的网站的系统的详细信息

Python 使用flask获取访问我的网站的系统的详细信息,python,flask,subprocess,Python,Flask,Subprocess,我使用flask(Python 2.7)构建了一个网站。我试图发送一个安装文件到一个系统访问我的网站根据该系统的规格。因此,我想访问该系统的cmd提示符,并找到一些东西: 1.pc正在使用哪个操作系统和位 2.它是否安装了python 到目前为止,我使用的是本地主机,所以代码看起来还不错 (这一个用于检测系统的操作系统) 我之前在其他windows pc上检查过,它显示了windows,这让我觉得我的代码很好。现在当我检查ubuntu时,它仍然显示windows。现在我意识到subprocess

我使用flask(Python 2.7)构建了一个网站。我试图发送一个安装文件到一个系统访问我的网站根据该系统的规格。因此,我想访问该系统的cmd提示符,并找到一些东西: 1.pc正在使用哪个操作系统和位 2.它是否安装了python

到目前为止,我使用的是本地主机,所以代码看起来还不错

(这一个用于检测系统的操作系统)

我之前在其他windows pc上检查过,它显示了windows,这让我觉得我的代码很好。现在当我检查ubuntu时,它仍然显示windows。现在我意识到subprocess.call在我的系统的cmd本身上调用命令,而不是在访问我的网站的系统上调用命令。 我如何访问访问系统的cmd来查找他们的操作系统、bit以及是否使用python/Flask在他们的系统上安装了python

注意:访问我的网站的所有系统都将连接到同一个wifi(如果有帮助的话)


编辑:我的主要标准是在我的网站上是否在访问者的系统上安装os、bit和python。它可以通过访问其他系统的cmd或以任何其他可能的方式执行。

您无法从web服务器在客户机上执行命令。否则这将是一个重大的安全问题


只有通过Flask请求对象读取客户机的用户代理信息,才能知道客户机的操作系统名称:

您无法从web服务器在客户机上执行命令。否则这将是一个重大的安全问题


您只能通过Flask请求对象读取其用户代理信息来了解客户端的操作系统名称:

您可以通过HTTP请求检查客户端的操作系统,仅此而已


您可以通过HTTP请求检查客户端的操作系统,但仅此而已


谢谢。我编辑了这部分内容。这个链接将为我提供操作系统。您能否建议一种获取bit版本的方法以及系统是否安装了python。恐怕您无法访问这些信息。请注意,您甚至无法通过解析
用户代理
头来了解客户端操作系统,因为您无法知道客户端是否在说实话。使用
curl
发送您喜欢的任何标题都很容易。谢谢。我编辑了这部分内容。这个链接将为我提供操作系统。您能否建议一种获取bit版本的方法以及系统是否安装了python。恐怕您无法访问这些信息。请注意,您甚至无法通过解析
用户代理
头来了解客户端操作系统,因为您无法知道客户端是否在说实话。使用
curl
等工具可以轻松发送您喜欢的任何标题。这听起来像是X-Y问题。你为什么在乎?很可能有更好的方法来完成您正在尝试的操作。我正在尝试根据客户机系统的规范将安装文件从我的网站(使用flask制作)发送到客户机系统。因此,我关心规格。更好的方法是什么?请注意,任何帮助都会非常有用。您可能需要为支持的每个操作系统创建一个安装包,然后让安装程序(将在客户端系统上运行)确定安装系统需要执行哪些操作。或者,如果合法的话,也许你应该将你的应用程序构建为一个操作系统原生包,并将你的运行时依赖项像Python一样捆绑在你的安装程序中。你为什么在乎?很可能有更好的方法来完成您正在尝试的操作。我正在尝试根据客户机系统的规范将安装文件从我的网站(使用flask制作)发送到客户机系统。因此,我关心规格。更好的方法是什么?请注意,任何帮助都会非常有用。您可能需要为支持的每个操作系统创建一个安装包,然后让安装程序(将在客户端系统上运行)确定安装系统需要执行哪些操作。或者,如果合法的话,您也可以将应用程序构建为一个操作系统本机包,并将运行时依赖项(如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