641 Stimmen

HTTP-Testserver, der GET/POST-Anfragen annimmt

Ich brauche einen Live-Test-Server, der meine Anfragen nach grundlegenden Informationen per HTTP GET annimmt und mir auch POST erlaubt (auch wenn er eigentlich nichts tut). Dies ist ausschließlich für Testzwecke.

Ein gutes Beispiel ist aquí . Sie akzeptiert problemlos GET-Anfragen, aber ich brauche eine, die auch POST-Anfragen akzeptiert.

Kennt jemand einen Server, an den ich Dummy-Testnachrichten senden kann?

39voto

Mikeyg36 Punkte 2500

http://requestb.in war den bereits erwähnten Tools ähnlich und hatte ebenfalls eine sehr schöne Benutzeroberfläche.

RequestBin stellt Ihnen eine URL zur Verfügung, die die an sie gerichteten Anfragen sammelt und es Ihnen ermöglicht, sie auf eine menschenfreundliche Weise zu überprüfen. Verwenden Sie RequestBin, um zu sehen, was Ihr HTTP-Client sendet oder um Webhook-Anfragen zu prüfen und zu debuggen.

Es wurde jedoch am 21. März 2018 eingestellt.

Wir haben die öffentlich gehostete Version von RequestBin aufgrund von anhaltendem Missbrauch, der es sehr schwierig machte, die Seite zuverlässig zu betreiben, eingestellt. Bitte siehe Anweisungen für die Einrichtung Ihrer eigenen, selbst gehosteten Instanz.

34voto

Pablo Cantero Punkte 6088

Werfen Sie einen Blick auf PutsReq ist ähnlich wie die anderen, ermöglicht es Ihnen aber auch, die gewünschten Antworten mit JavaScript zu schreiben.

16voto

rogerdpack Punkte 55995

Hier ist ein Postmann-Echo: https://docs.postman-echo.com/

Beispiel:

curl --request POST \
  --url https://postman-echo.com/post \
  --data 'This is expected to be sent back as part of response body.'

Antwort:

{"args":{},"data":"","files":{},"form":{"This is expected to be sent back as part of response body.":""},"headers":{"host":"postman-echo.com","content-length":"58","accept":"*/*","content-type":"application/x-www-form-urlencoded","user-agent":"curl/7.54.0","x-forwarded-port":"443","x-forwarded-proto":"https"},"json":{"...

9voto

ccpizza Punkte 24937

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)

6voto

Mike Punkte 465

https://www.mockable.io . Es hat die nette Eigenschaft, Endpunkte ohne Login zu erhalten (24h temporäres Konto)

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X