浏览器中的Python脚本

浏览器中的Python脚本,python,Python,因此,我有一个功能性python脚本,它执行一些系统管理自动化任务。你给它一个主机名,它就会启动并做它该做的事情,向服务器发送消息,并在运行时向控制台打印消息。将其与浏览器支持相结合而不是在终端上运行的好技术方法是什么?实际上,需要做的只是在网页上为服务器主机名设置一个输入框,这样就可以直接运行脚本,然后将标准输出打印到浏览器上 实际上你不需要太多。您需要部署一个执行脚本的web服务器,脚本应该以HTTP响应的形式给出输出,而不是写入标准输出 也就是说,您可以使用Python的内置代码作为初学者

因此,我有一个功能性python脚本,它执行一些系统管理自动化任务。你给它一个主机名,它就会启动并做它该做的事情,向服务器发送消息,并在运行时向控制台打印消息。将其与浏览器支持相结合而不是在终端上运行的好技术方法是什么?实际上,需要做的只是在网页上为服务器主机名设置一个输入框,这样就可以直接运行脚本,然后将标准输出打印到浏览器上

实际上你不需要太多。您需要部署一个执行脚本的web服务器,脚本应该以HTTP响应的形式给出输出,而不是写入标准输出

也就是说,您可以使用Python的内置代码作为初学者。它是一个非常基本的web服务器,可以在Python的标准库中为您编写。我更愿意将它用于系统管理和内部网任务,而不是Apache,因为它非常容易设置和开始服务

您可能需要扩展它,以便在请求运行脚本时,它知道如何处理它。SimpleHTTPServer可能不适合这里,但您可以扩展或完成脚本执行

在脚本方面,您需要修改输出的目标,没有比这更聪明的了。它可能需要一些重构,但不需要太多

请记住,BaseHTTPServer并不关注安全性,因此请在安全的环境中使用它,否则您公司的数据可能会受到危害

我可以进入任何更多的细节,因为问题相当大,但这就是我将如何开始做它


希望有帮助

实际上你不需要太多。您需要部署一个执行脚本的web服务器,脚本应该以HTTP响应的形式给出输出,而不是写入标准输出

也就是说,您可以使用Python的内置代码作为初学者。它是一个非常基本的web服务器,可以在Python的标准库中为您编写。我更愿意将它用于系统管理和内部网任务,而不是Apache,因为它非常容易设置和开始服务

您可能需要扩展它,以便在请求运行脚本时,它知道如何处理它。SimpleHTTPServer可能不适合这里,但您可以扩展或完成脚本执行

在脚本方面,您需要修改输出的目标,没有比这更聪明的了。它可能需要一些重构,但不需要太多

请记住,BaseHTTPServer并不关注安全性,因此请在安全的环境中使用它,否则您公司的数据可能会受到危害

我可以进入任何更多的细节,因为问题相当大,但这就是我将如何开始做它

希望有帮助

SimpleHTTPServer还可以,但顾名思义,它非常简单。尝试一个微框架,比如包括一个Web服务器和助手,让事情变得更简单。脚本再简单不过了:

from tools import thingamajig
from flask import Flask, request

app = Flask(__name__)

@app.route('/go-go-gadget', methods=['POST','GET'])
def index():
   if request.method == 'POST':
       ip_address = request.form['ip_address']
       results = thingamajig.do(ip_address)
       return render('index.html', results=results)
   return render('index.html')

if __name__ == '__main__':
   app.run()
现在,只需创建一个模板/目录,并在其中添加一个文件index.html,其中包含以下内容:

<form method="POST">
   <input type="text" name="ip_address" />
   <input type="submit">
</form>
{% if results %}
   Here are the results: {{ results }}
{% endif %}
现在只需pythonserver.py并转到http://localhost:5000/go-go gadget

SimpleHTTPServer还可以,但顾名思义,它非常简单。尝试一个微框架,比如包括一个Web服务器和助手,让事情变得更简单。脚本再简单不过了:

from tools import thingamajig
from flask import Flask, request

app = Flask(__name__)

@app.route('/go-go-gadget', methods=['POST','GET'])
def index():
   if request.method == 'POST':
       ip_address = request.form['ip_address']
       results = thingamajig.do(ip_address)
       return render('index.html', results=results)
   return render('index.html')

if __name__ == '__main__':
   app.run()
现在,只需创建一个模板/目录,并在其中添加一个文件index.html,其中包含以下内容:

<form method="POST">
   <input type="text" name="ip_address" />
   <input type="submit">
</form>
{% if results %}
   Here are the results: {{ results }}
{% endif %}

现在只需pythonserver.py并转到http://localhost:5000/go-go gadget

你的问题非常广泛,可能无法非常准确地回答。请你再检查一下这个问题,试着把它缩小成一个或几个更具体的问题好吗?这样可能会给你很多不同的答案。我做了一个编辑。tl;dr是我想提供一个web浏览器界面来运行通常在终端上执行的python程序!那么,你是说你只想拥有一个漂亮的web浏览器界面,可以用来在应用程序服务器上执行Python脚本吗?只是开箱即用的东西:你看过了吗?不确定这是否适用于您,但肯定满足上述要求。您的问题非常广泛,可能无法非常准确地回答。请你再检查一下这个问题,试着把它缩小成一个或几个更具体的问题好吗?这样可能会给你很多不同的答案。我做了一个编辑。tl;dr是我想提供一个web浏览器界面来运行通常在终端上执行的python程序!那么,你是说你只想拥有一个漂亮的web浏览器界面,可以用来在应用程序服务器上执行Python脚本吗?只是开箱即用的东西:你看过了吗?不确定这是否适用于您,但肯定满足上述要求。+1 SimpleHTT
PServer是一种很好的入门方式,实现需求非常简单和孤立,因此以后切换到其他东西是很容易的,扩展BaseHTTPServer或使用CGIHTTPServer可能更有用;SimpleHTTPServer只提供来自当前目录的文件,根本不是为了扩展以运行任意Python代码而设计的。我不认为有必要在这里投反对票,问题相当广泛,就我所知,我没有给出任何错误的答案,就我的建议而言,+1 SimpleHTTPServer是一个很好的入门方式,而且实现需求非常简单和孤立,因此在以后扩展BaseHTTPServer或使用CGIHTTPServer可能更有用时,切换到其他应用是很简单的;SimpleHTTPServer只提供来自当前目录的文件,根本不是为了扩展以运行任意Python代码而设计的。我不认为有必要在这里投反对票,问题相当广泛,就我所知,我没有给出任何错误的答案,这是我的建议。+1实际上Flask似乎是一个非常容易设置的库/服务器。+1实际上Flask似乎是一个非常容易设置的库/服务器。