我想运行一个脚本来创建一个简单的 HTTP 服务器并为每个请求运行一个函数。
我正在使用 Python 测试一个应该给我回调的 API。现在,我使用http://requestb.in/来测试回调,但我想直接在我的 python 脚本中测试它。
是否可以在 localhost:6548 上运行回调服务器绑定并根据请求测试某些内容?
感谢您的帮助。
我想运行一个脚本来创建一个简单的 HTTP 服务器并为每个请求运行一个函数。
我正在使用 Python 测试一个应该给我回调的 API。现在,我使用http://requestb.in/来测试回调,但我想直接在我的 python 脚本中测试它。
是否可以在 localhost:6548 上运行回调服务器绑定并根据请求测试某些内容?
感谢您的帮助。
您可以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
.
您可以使用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/