【问题标题】:Simple receive and return Python server?简单的接收和返回Python服务器?
【发布时间】:2019-01-08 17:39:38
【问题描述】:

出于测试目的,我需要在本地启动 Python 服务器。它需要做的就是回复它在请求中收到的 JSON。

我已经使用 Node.js 实现了所需的功能。我想用 Python 重写它,因为它被用来测试 Python 服务。我还没有找到任何明确的例子来说明如何做到这一点。据我所知,它需要我目前没有的网络编程知识(关于网络级别发生的事情的解释和/或资源材料将不胜感激!)

Node.js 代码如下:

#!/usr/bin/env node
const http = require("http");

const PORT = process.argv[2]

const server = http.createServer((req, res) => {
    let data = "";
    req.on("error", err => {
        throw err;
    });
    req.on("data", chunk => {
        data += chunk;
    });
    req.on("end", () => {
        res.setHeader("Content-Type", "application/json")
        res.write(data, () => res.end());
    });
});

server.listen(PORT, () => {
    console.log(`Dummy server listing on port: ${PORT}`)
});

【问题讨论】:

    标签: python-3.x http server


    【解决方案1】:

    Python 有很多框架,Flask 很简单!

    https://medium.com/@aliciagilbert.itsimplified/a-slick-crud-application-built-using-python-with-flask-and-sqlite3-to-teach-simple-mysql-queries-bd75e1109582

    [更新]

    #!/usr/bin/python
    
    from flask import Flask
    from flask import request
    
    app = Flask(__name__)
    
    @app.route("/")
    def index():
        parameter= request.args.get('parameter', default = 1, type = int)
        return "Hello Flask!"
    
    if __name__ == '__main__':
        app.run(debug=True)
    

    保存在 app.py 并运行“python app.py”,默认监听 5000 端口 - http://localhost:5000/

    【讨论】:

    • 同意。烧瓶非常简单轻巧。但我认为您可能可以编写一些代码来帮助这位先生。
    • 对,加个sn-p!
    • 感谢您的回复。我应该在上面说我正在寻找一个不需要任何额外依赖项的解决方案
    猜你喜欢
    • 2023-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-04
    相关资源
    最近更新 更多