1

我想运行一个脚本来创建一个简单的 HTTP 服务器并为每个请求运行一个函数。

我正在使用 Python 测试一个应该给我回调的 API。现在,我使用http://requestb.in/来测试回调,但我想直接在我的 python 脚本中测试它。

是否可以在 localhost:6548 上运行回调服务器绑定并根据请求测试某些内容?

感谢您的帮助。

4

2 回答 2

2

您可以wsgiref用来托管一个简单的 WSGI Web 应用程序。例子:

from wsgiref.simple_server import make_server
import datetime

def application(environ, start_response):
    start_response('200 OK', [('Content-type', 'text/plain')])
    retval = [
            str(environ),
            "\n",
            "Hello world!\n",
            str(datetime.datetime.now())
            ]
    return retval

make_server('localhost', 6548, application).serve_forever()

此代码创建一个 Python WSGI Web 应用程序并在http://localhost:6548.

于 2012-12-03T12:01:52.123 回答
0

您可以使用Flask微框架。这是一个简单的例子:

from flask import Flask, request

app = Flask(__name__)

@app.route('/firs_call', methods=['POST'])
def first_callback():
    if request.method == 'POST':
        result = request.data
        client_ip = request.remote_addr

    return "OK"


@app.route('/second_call', methods=['GET'])
def second_callback():
    if request.method == 'GET':
         #....
         pass

    return "OK"

if __name__ == '__main__':
    app.debug = True
    app.run("127.0.0.1")

您可以通过以下网址访问此 Web 应用程序http://127.0.0.1:5000/

于 2012-12-03T17:51:22.717 回答