【问题标题】:How do I accept a HTTP request and return an integer from a backend Python server script?如何接受 HTTP 请求并从后端 Python 服务器脚本返回整数?
【发布时间】:2017-06-12 09:56:34
【问题描述】:

我使用过 Python,但没有在后端服务器场景中使用过。我想创建一个 Python 后端,当使用 URL 调用它时,它将运行一个简单的 Python 脚本,该脚本将返回一个整数。

到目前为止,我已经能够通过以下方式设置 HTTP 服务器了

python -m SimpleHTTPServer

如你所见,我还有很长的路要走。我读过一些关于 CGI 的文章,但无法掌握它。

如果您能帮我设计简单的后端 .py 文件和相应的 URL,我将不胜感激,例如:

http://localhost:8000/my_prog.py

在客户端,当我调用此 URL 时,我需要在响应中获取一个整数值。

我将进一步实际返回一个 JSON 响应,但首先我需要知道如何返回一个简单的 int。

非常感谢!

【问题讨论】:

标签: python cgi simplehttpserver


【解决方案1】:
from BaseHTTPServer import BaseHTTPRequestHandler, HTTPServer

NUMBER = 5


class Handler(BaseHTTPRequestHandler):
    def do_GET(self):
        self.send_response(200)
        self.end_headers()
        self.wfile.write(str(NUMBER))


httpd = HTTPServer(('localhost', 5001), Handler)
httpd.serve_forever()

您可以通过调用 python server.py 来运行它,它会以文本形式返回数字:

$ http GET :5001
  HTTP/1.0 200 OK
  Date: Mon, 12 Jun 2017 11:07:11 GMT
  Server: BaseHTTP/0.3 Python/2.7.12

  5

但是,如果您打算开发更大的应用程序并且可以通过 pip 包含第三方模块,我还建议使用 Flask 或其他小型 http 服务器库。

【讨论】:

    猜你喜欢
    • 2022-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-15
    • 2011-08-09
    相关资源
    最近更新 更多