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?
13 réponses
il fait écho aux données utilisées dans votre demande pour l'un de ces types:
- http://httpbin.org/ip renvoie L'IP D'origine.
- http://httpbin.org/user-agent retourne user-agent.
- http://httpbin.org/headers renvoie l'en-tête dict.
- http://httpbin.org/get retourne GET data.
- http://httpbin.org/post renvoie les données POST.
- http://httpbin.org/put renvoie les données PUT.
- http://httpbin.org/delete renvoie supprimer les données
- http://httpbin.org/gzip renvoie des données codées gzip.
- http://httpbin.org/status/:code renvoie le code D'état HTTP.
- http://httpbin.org/response-headers?key=val renvoie des en-têtes de réponse donnés.
- http://httpbin.org/redirect/:n 302 redirige n fois.
- http://httpbin.org/relative-redirect/:n 302 relative redirects n times.
- http://httpbin.org/cookies renvoie les données du cookie.
- http://httpbin.org/cookies/set/:name/:value définit un cookie simple.
- http://httpbin.org/basic-auth/:user/:passwd Challenges HTTPBasic Auth.
- http://httpbin.org/hidden-basic-auth/:user/:passwd 404'd BasicAuth.
- http://httpbin.org/digest-auth/:qop/:user/:passwd Challenges HTTP Digest Auth.
- http://httpbin.org/stream/:n Flux de n–100 lignes.
- http://httpbin.org/delay/:n retarde la réponse pendant 10 Secondes.
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."
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.
regardez PutsReq , il est similaire aux autres, mais il vous permet également d'écrire les réponses que vous voulez en utilisant JavaScript.
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]
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";
}
?>
Webhook Tester est un grand outil: https://webhook.site ( GitHub )
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.
https://www.mockable.io . Il a la fonctionnalité agréable d'obtenir des points sans connexion (compte temporaire 24h)
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
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.
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'}
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.
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":{"...
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.