python实现web服务器

发布于 2024-01-10  370 次阅读


python实现简单web服务

我们有时要远程启动远程计算机上的一个脚本,一个简单的方法是使用python来写一个简单的web服务器,这段python服务器代码放在被调用的远程电脑上,运行该web服务,需要调用时,使用本地电脑发送web请求即可。(要求本地电脑能ping通远程电脑)

web服务器的代码示例:

from flask import Flask, request, jsonify

app = Flask(__name__)

@app.route('/invoke_function', methods=['POST'])
def invoke_function():
    try:
        # 获取 POST 请求的 JSON 数据
        data = request.get_json()

        # 从 JSON 数据中提取参数
        param1 = data.get('param1')
        param2 = data.get('param2')

        # 调用你的 Python 函数
        result = your_function(param1, param2)

        # 返回结果
        return jsonify({'result': result})

    except Exception as e:
        return jsonify({'error': str(e)})

# 你的 Python 函数
def your_function(param1, param2):
    # 在这里实现你的功能
    # 例如,可以是某个计算、处理等
    return param1 + param2

if __name__ == '__main__':
    # 启动 Flask 应用
    app.run(host='0.0.0.0', port=5000)

代码简单易懂,在此不作过多说明,需要的python包flask,自行安装。
运行之后会在服务器段的ip地址的5000端口运行一个web服务器。

之后可以在客户端的电脑上编写python代码来发送web请求,以此来验证是否能远程调用,可以使用下面的代码:

import requests

url = 'http://172.31.226.104:5000/invoke_function'
data = {'param1': 10, 'param2': 20}
response = requests.post(url, json=data)

print(response.json())

上面的url中的ip地址应该改为你自己的服务器端的IP地址。
运行之后,不出意外的话会输出{'result': 30},这个是10+20的结果。

  • alipay_img
  • wechat_img
我是小明,喜欢数学和编程
最后更新于 2024-01-10