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?

1030voto

Robert Punkte 13792

https://httpbin.org/

Sie gibt die Daten wieder, die in Ihrer Anfrage für einen dieser Typen verwendet werden:

175voto

catbot Punkte 1903

Es gibt http://ptsv2.com/

"Hier finden Sie einen Server, der jede POST, die Sie ihm geben möchten, empfängt und den Inhalt für Sie zur Überprüfung speichert."

82voto

Patrick Quirk Punkte 22488

Webhook Tester ist ein großartiges Werkzeug: https://webhook.site ( GitHub )

enter image description here

Wichtig für mich war, dass die IP des Anfragenden angezeigt wurde, was hilfreich ist, wenn man eine IP-Adresse auf die Whitelist setzen muss, aber nicht sicher ist, um welche es sich handelt.

57voto

nc einzeiliger lokaler Testserver

Richten Sie einen lokalen Testserver in einer Zeile unter Linux ein:

nc -kdl localhost 8000

Musteranforderungsersteller auf einer anderen Shell:

wget http://localhost:8000

dann sehen Sie auf der ersten Shell, dass die Anfrage erschienen ist:

GET / HTTP/1.1
User-Agent: Wget/1.19.4 (linux-gnu)
Accept: */*
Accept-Encoding: identity
Host: localhost:8000
Connection: Keep-Alive

nc von der netcat-openbsd Paket ist weithin verfügbar und auf Ubuntu vorinstalliert.

Getestet auf Ubuntu 18.04.

40voto

Wilfred Hughes Punkte 27613

Wenn Sie einen lokalen Testserver benötigen, der eine beliebige URL akzeptiert und die Anfrage einfach an die Konsole weiterleitet, können Sie node verwenden:

const http = require("http");

const hostname = "0.0.0.0";
const port = 3000;

const server = http.createServer((req, res) => {
  console.log(`\n${req.method} ${req.url}`);
  console.log(req.headers);

  req.on("data", function(chunk) {
    console.log("BODY: " + chunk);
  });

  res.statusCode = 200;
  res.setHeader("Content-Type", "text/plain");
  res.end("Hello World\n");
});

server.listen(port, hostname, () => {
  console.log(`Server running at http://localhost:${port}/`);
});

Speichern Sie es in der Datei "echo.js" und führen Sie es wie folgt aus:

$ node echo.js
Server running at http://localhost:3000/

Sie können dann Daten übermitteln:

$ curl -d "[1,2,3]" -XPOST http://localhost:3000/foo/bar

die im stdout des Servers angezeigt wird:

POST /foo/bar
{ host: 'localhost:3000',
  'user-agent': 'curl/7.54.1',
  accept: '*/*',
  'content-length': '7',
  'content-type': 'application/x-www-form-urlencoded' }
BODY: [1,2,3]

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