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?

1voto

Ich bin mir nicht sicher, ob jemand so viel Mühe aufwenden würde, um GET- und POST-Aufrufe zu testen. Ich nahm Python Flask-Modul und schrieb eine Funktion, die etwas Ähnliches wie das, was @Robert geteilt tut.

from flask import Flask, request
app = Flask(__name__)

@app.route('/method', methods=['GET', 'POST'])
@app.route('/method/<wish>', methods=['GET', 'POST'])
def method_used(wish=None):
    if request.method == 'GET':
        if wish:
            if wish in dir(request):
                ans = None
                s = "ans = str(request.%s)" % wish
                exec s
                return ans
            else:
                return 'This wish is not available. The following are the available wishes: %s' % [method for method in dir(request) if '_' not in method]
        else:
            return 'This is just a GET method'
    else:
        return "You are using POST"

Wenn ich dies ausführe, folgt dies:

C:\Python27\python.exe E:/Arindam/Projects/Flask_Practice/first.py
 * Restarting with stat
 * Debugger is active!
 * Debugger PIN: 581-155-269
 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)

Versuchen wir nun einige Anrufe. Ich verwende den Browser.

  • http://127.0.0.1:5000/method

    This is just a GET method
  • http://127.0.0.1:5000/method/NotCorrect

    This wish is not available. The following are the available wishes:
    
    ['application', 'args', 'authorization', 'blueprint', 'charset', 'close', 'cookies', 'data', 'date', 'endpoint', 'environ', 'files', 'form', 'headers', 'host', 'json', 'method', 'mimetype', 'module', 'path', 'pragma', 'range', 'referrer', 'scheme', 'shallow', 'stream', 'url', 'values']
  • http://127.0.0.1:5000/method/environ

    {'wsgi.multiprocess': False, 'HTTP_COOKIE': 'csrftoken=YFKYYZl3DtqEJJBwUlap28bLG1T4Cyuq', 'SERVER_SOFTWARE': 'Werkzeug/0.12.2', 'SCRIPT_NAME': '', 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/method/environ', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': '', 'werkzeug.server.shutdown': , 'HTTP_USER_AGENT': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36', 'HTTP_CONNECTION': 'keep-alive', 'SERVER_NAME': '127.0.0.1', 'REMOTE_PORT': 49569, 'wsgi.url_scheme': 'http', 'SERVER_PORT': '5000', 'werkzeug.request': , 'wsgi.input': , 'HTTP_HOST': '127.0.0.1:5000', 'wsgi.multithread': False, 'HTTP_UPGRADE_INSECURE_REQUESTS': '1', 'HTTP_ACCEPT': "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", 'wsgi.version': (1, 0), 'wsgi.run_once': False, 'wsgi.errors': ", mode 'w' at 0x0000000002042150>", 'REMOTE_ADDR': '127.0.0.1', 'HTTP_ACCEPT_LANGUAGE': 'en-US,en;q=0.8', 'HTTP_ACCEPT_ENCODING': 'gzip, deflate, sdch, br'}

1voto

Muhammad Musavi Punkte 2138

Sie brauchen dafür keine Website, sondern öffnen nur den Browser, drücken F12 um Zugriff auf die Entwicklertools > Konsole zu erhalten, dann schreiben Sie in der Konsole etwas JavaScript-Code, um dies zu tun.

Hier zeige ich Ihnen einige Möglichkeiten, dies zu erreichen:

Für GET-Anfragen: *.jQuery verwenden:

$.get("http://someurl/status/?messageid=597574445", function(data, status){
      console.log(data, status);
});

Für POST-Anfragen:

  1. Verwendung von jQuery $.ajax :

    var url= "http://someurl/", api_key = "6136-bc16-49fb-bacb-802358", token1 = "Just for test", result; $.ajax({ url: url, type: "POST", data: { api_key: api_key, token1: token1 }, }).done(function(result) { console.log("done successfuly", result); }).fail(function(error) { console.log(error.responseText, error); });

  2. Verwendung von jQuery, Anfügen und Übermitteln

    var merchantId = "AA86E", token = "4107120133142729", url = "https://payment.com/Index";

    var form = <form id="send-by-post" method="post" action="${url}"> <input id="token" type="hidden" name="token" value="${merchantId}"/> <input id="merchantId" name="merchantId" type="hidden" value="${token}"/> <button type="submit" >Pay</button> </div> </form>; $('body').append(form); $("#send-by-post").submit();//Or $(form).appendTo("body").submit();

  3. Reines JavaScript verwenden:

    var api_key = "73736-bc16-49fb-bacb-643e58", recipient = "095552565", token1 = "4458", url = 'http://smspanel.com/send/';

    var form = `<form id="send-by-post" method="post" action="${url}"> <input id="api_key" type="hidden" name="api_key" value="${api_key}"/> <input id="recipient" type="hidden" name="recipient" value="${recipient}"/> <input id="token1" name="token1" type="hidden" value="${token1}"/> <button type="submit" >Send</button> </div> </form>`;

    document.querySelector("body").insertAdjacentHTML('beforeend',form); document.querySelector("#send-by-post").submit();

  4. Oder sogar mit ASP.Net:

    var url = "https://Payment.com/index"; Response.Clear(); var sb = new System.Text.StringBuilder();

    sb.Append("<html>"); sb.AppendFormat("<body onload='document.forms[0].submit()'>"); sb.AppendFormat("<form action='{0}' method='post'>", url); sb.AppendFormat("<input type='hidden' name='merchantId' value='{0}'>", "C668"); sb.AppendFormat("<input type='hidden' name='Token' value='{0}'>", "22720281459"); sb.Append("</form>"); sb.Append("</body>"); sb.Append("</html>"); Response.Write(sb.ToString()); Response.End();

1voto

Ariel Ampol Punkte 29

Wenn Sie einen einfachen HTTP-Server mit den folgenden Eigenschaften benötigen oder wünschen:

  • Kann lokal oder in einem vom öffentlichen Internet abgeschotteten Netz betrieben werden
  • Hat einige grundlegende Berechtigungen
  • Behandelt POST-Anfragen

Ich habe einen auf der Grundlage des hervorragenden SimpleHTTPAuthServer gebaut, der bereits auf PyPI zu finden ist. Dieser fügt die Verarbeitung von POST-Anfragen hinzu: https://github.com/arielampol/SimpleHTTPAuthServerWithPOST

Ansonsten sind alle anderen öffentlich verfügbaren Optionen bereits so gut und robust.

-18voto

Captain Hawaii Punkte 17

Richten Sie einfach selbst eine ein. Kopieren Sie dieses Snippet auf Ihren Webserver.

echo "<pre>";
print\_r($\_POST);
echo "</pre>";

Posten Sie einfach auf dieser Seite, was Sie wollen. Erledigt.

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