Serveur de test HTTP acceptant les requêtes GET/POST

j'ai besoin d'un serveur de test en direct qui accepte mes demandes d'informations de base via HTTP GET et me permet également de poster (même si cela ne fait vraiment rien). C'est tout à fait à des fins de test.

un bon exemple est ici . Il accepte facilement les requêtes GET, mais j'en ai besoin d'une qui accepte aussi les requêtes POST.

est-ce que quelqu'un connaît un serveur que je peux envoyer des messages de test factices aussi?

343
demandé sur Alexander Abakumov 2011-04-20 08:17:11

13 réponses

http://httpbin.org/

il fait écho aux données utilisées dans votre demande pour l'un de ces types:

603
répondu Robert 2012-03-19 13:22:50

il y a http://ptsv2.com/

"Ici, vous trouverez un serveur qui reçoit tout message que vous souhaitez lui donner, et stocke le contenu de l'examen."

85
répondu catbot 2018-03-19 18:00:07

http://requestb.in était similaire aux outils déjà mentionnés et avait également une interface utilisateur très agréable.

RequestBin vous donne une URL qui va recueillir les requêtes qui lui sont faites et vous permettra de les inspecter d'une manière conviviale. Utilisez RequestBin pour voir ce que votre client HTTP envoie ou pour inspecter et déboguer les requêtes webhook.

bien qu'il ait été discontinué à partir de Mars 21, 2018.

nous avons abandonné la version publique de RequestBin en raison d'un abus continu qui rendait très difficile de maintenir le site fiable. Veuillez consulter instructions pour configurer votre propre instance.

35
répondu Mikeyg36 2018-04-05 03:17:05

regardez PutsReq , il est similaire aux autres, mais il vous permet également d'écrire les réponses que vous voulez en utilisant JavaScript.

27
répondu Pablo Cantero 2015-09-08 14:56:05

si vous voulez un serveur de test local qui accepte n'importe quelle URL et qui renverse simplement la requête à la console, vous pouvez utiliser le noeud:

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}/`);
});

enregistrez-le dans l'écho d'un fichier.js et l'exécuter comme suit:

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

vous pouvez alors soumettre des données:

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

qui s'affichera dans le stdout du serveur:

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]
17
répondu Wilfred Hughes 2017-11-21 13:40:45

Créer choisir un hôte web gratuit et mettre le code suivant

 <h1>Request Headers</h1>
 <?php
 $headers = apache_request_headers();

 foreach ($headers as $header => $value) {
     echo "<b>$header:</b> $value <br />\n";
 }
 ?>
5
répondu greensuisse 2018-03-19 17:59:17

Webhook Tester est un grand outil: https://webhook.site ( GitHub )

enter image description here

Important pour moi, il a montré L'IP du demandeur, ce qui est utile lorsque vous avez besoin de whitelist une adresse IP, mais ne sont pas sûr de ce qu'il est.

4
répondu Patrick Quirk 2018-07-02 13:12:41

https://www.mockable.io . Il a la fonctionnalité agréable d'obtenir des points sans connexion (compte temporaire 24h)

3
répondu Mike 2017-05-02 15:09:28

j'ai créé un serveur de test local à code source ouvert que vous pouvez faire tourner en quelques minutes. Vous pouvez créer de nouvelles API, définir votre propre réponse et la hacker de n'importe quelle façon que vous le souhaitez.

Github Link : https://github.com/prabodhprakash/localTestingServer

2
répondu prabodhprakash 2016-09-29 16:28:31

Je ne suis pas sûr que quelqu'un puisse supporter autant de douleur pour tester les appels reçus et postés. J'ai pris Python Flask module et j'ai écrit une fonction qui fait quelque chose de similaire à ce que @Robert a partagé.

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"

quand j'exécute ceci, cela suit:

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)

essayons maintenant quelques appels. Je suis en utilisant le navigateur.

http://127.0.0.1:5000/method

C'est juste une méthode GET

http://127.0.0.1:5000/method/NotCorrect

Ce souhait n'est pas disponible. Les suivantes sont disponibles souhaits: ['demande', 'args', 'autorisation', 'plan', 'charset', 'fermer', des 'cookies', 'données', 'date', 'extrémité', 'environnement', 'fichiers', 'formulaire', 'en-têtes', 'host', 'json', 'la méthode', 'type mime', 'module', 'chemin', 'pragma', 'plage', 'référent', "plan", "shallow', 'stream', 'url', des "valeurs"]

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.serveur.shutdown':,' HTTP_USER_AGENT': 'Mozilla / 5.0 (Windows NT 6.1; WOW64) AppleWebKit / 537.36 (KHTML, comme 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.demande': , '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.erreur': ', 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'}

1
répondu Arindam Roychowdhury 2017-07-14 07:22:49

nc one-liner local test server

installation d'un serveur d'essai local sur une ligne sous Linux:

while true; do printf '' | nc -l localhost 8000; done

demande d'Échantillon maker sur une autre coquille:

wget http://localhost:8000

puis sur le premier shell vous voyez la requête qui a été faite apparaître:

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

nc est largement disponible et pré-installé sur Ubuntu.

testé sur Ubuntu 18.04.

1

voici un Postman echo: https://docs.postman-echo.com /

exemple:

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

réponse:

{"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":{"...
0
répondu rogerdpack 2018-10-06 03:58:18

installe-en un toi-même. Copiez cet extrait sur votre serveur web.


echo "<pre>";
print_r($_POST);
echo "</pre>";

postez ce que vous voulez sur cette page. Faire.

-12
répondu Captain Hawaii 2011-04-20 04:29:17