Sie können die aktuelle Ken Reitz's httpbin
Server lokal (unter Docker oder auf Bare Metal):
https://github.com/postmanlabs/httpbin
Ausführen von dockerized
docker pull kennethreitz/httpbin
docker run -p 80:80 kennethreitz/httpbin
Direkt auf Ihrem Rechner ausführen
## install dependencies
pip3 install gunicorn decorator httpbin werkzeug Flask flasgger brotlipy gevent meinheld six pyyaml
## start the server
gunicorn -b 0.0.0.0:8000 httpbin:app -k gevent
Jetzt haben Sie Ihre persönliche httpbin-Instanz, die auf http://0.0.0.0:8000 (sichtbar für Ihr gesamtes LAN)
Minimaler Flask REST-Server
Ich wollte einen Server, der vordefinierte Antworten zurückgibt, also habe ich festgestellt, dass es in diesem Fall einfacher ist, eine minimale Flask-App zu verwenden:
#!/usr/bin/env python3
# Install dependencies:
# pip3 install flask
import json
from flask import Flask, request, jsonify
app = Flask(__name__)
@app.route('/', methods=['GET', 'POST'])
def root():
# spit back whatever was posted + the full env
return jsonify(
{
'request.json': request.json,
'request.values': request.values,
'env': json.loads(json.dumps(request.__dict__, sort_keys=True, default=str))
}
)
@app.route('/post', methods=['GET', 'POST'])
def post():
if not request.json:
return 'No JSON payload! Expecting POST!'
# return the literal POST-ed payload
return jsonify(
{
'payload': request.json,
}
)
@app.route('/users/<gid>', methods=['GET', 'POST'])
def users(gid):
# return a JSON list of users in a group
return jsonify([{'user_id': i,'group_id': gid } for i in range(42)])
@app.route('/healthcheck', methods=['GET'])
def healthcheck():
# return some JSON
return jsonify({'key': 'healthcheck', 'status': 200})
if __name__ == "__main__":
with app.test_request_context():
app.debug = True
app.run(debug=True, host='0.0.0.0', port=8000)