Web Services 有什么简单的方法可以建立一个python web服务,它将接受参数并返回一个值?

u7up0aaq  于 2023-03-08  发布在  Python
关注(0)|答案(1)|浏览(172)

我想写一个简单的python web服务,它将读取被调用的url中提供的参数,并基于此返回一些基本字符串。
为了开始并更好地理解整个事情,我想从创建一个"计算器" Web服务开始,它将接受两个数字和一个运算符,并基于这些输入返回数学结果。
例如,如果我从浏览器调用类似以下内容:http://123.45.67.89:12345/calculate?number1=12&number2=13&*operation=addition *
我想让python脚本知道(我猜最有可能是通过简单的switch/case语句)它应该执行类似这样的操作:"return number1 + number2"并将结果25返回给调用者。
我确信在python中实现这一点不会是一个太大的问题,因为它不是什么太花哨的东西,但是,作为一个初学者,我无法找到正确的起点。

zy1mlcev

zy1mlcev1#

请看一下WSGI规范。
您也可以使用bottle这样的框架,这会使您的工作更轻松:

from bottle import route, run, request

@route('/calculate')
def index():
    if request.GET.get('operation') == 'addition':
        return str(int(request.GET.get('number1')) + int(request.GET.get('number2')))
    else:
        return 'Unsupported operation'

if __name__ == '__main__':
    run(host='123.45.67.89', port=12345)

甚至对于flask

from flask import Flask

app = Flask(__name__)

@app.route('/calculate')
def calculate():
    if request.args.get('operation') == 'addition':
        return str(int(request.args.get('number1')) + int(request.args.get('number2')))
    else:
        return 'Unsupported operation'

if __name__ == '__main__':
    app.run()

相关问题