2011-04-20 18 views
297

Necesito un servidor de prueba en vivo que acepte mis solicitudes de información básica a través de HTTP GET y también me permita realizar POST (incluso si realmente no está haciendo nada). Esto es solo para fines de prueba.Servidor de prueba HTTP que acepta llamadas GET/Post

Un buen ejemplo es here

fácilmente acepta peticiones GET, pero necesito uno que acepta las peticiones POST.

¿Alguien sabe de un servidor que puedo enviar estúpidos mensajes de prueba también?

+0

¿Lo quieres para registrar POST? –

+2

Esto hace lo que quiere, creo. https://github.com/jar-o/dumdum No se requiere código – jar

Respuesta

-13

Solo tiene que configurar uno usted mismo. Copie este fragmento en su servidor web.

 

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

Simplemente publique lo que quiere para esa página. Hecho.

+3

El punto es no tener que usar un servidor. Por ejemplo, ¿qué sucede si desea publicar una pregunta en SO, pero su servidor puede no estar disponible por mucho tiempo? El OP está pidiendo algo permanente, como jsfiddle, que se pueda usar para probar o demostrar la publicación. – abalter

61

Hay http://www.posttestserver.com/

"Aquí se encuentra un servidor que recibe cualquier puesto que desea darle y almacena el contenido para su revisión."

+4

Este es realmente bueno si está ejecutando solicitudes que se desencadenan desde un servidor remoto cuyas funciones internas no tiene acceso, ya que guardará la solicitud para su recuperación posterior. – ozmo

+2

También se puede probar http://requestb.in; también guarda las solicitudes para una inspección posterior. –

+0

Gracias @catbot, esto es dulce –

538

http://httpbin.org/

se hace eco de los datos utilizados en su solicitud de cualquiera de estos tipos:

+86

http://stackoverflow.com/users/120004/kenneth-reitz escribió este servicio. Así que siéntete libre de pensar que es un desarrollador increíble como yo. – Robert

+2

+1 para el enlace excelente –

+0

Devuelve un JSON que describe la solicitud que ha realizado. – tbraun

35

http://requestb.in es similar a las herramientas ya mencionadas, pero tiene una muy buena interfaz de usuario.

RequestBin le proporciona una URL que recopilará las solicitudes que se le han hecho y le permitirá inspeccionarlas de forma amigable para los seres humanos. Use RequestBin para ver lo que envía su cliente HTTP o para inspeccionar y depurar solicitudes de webhook.

+0

[PutsReq] (http: // putsreq.com /) también es similar a RequestBin, pero le permite escribir las respuestas que desea con JS. –

22

Eche un vistazo a PutsReq, es similar a los demás, pero también le permite escribir las respuestas que desee mediante JavaScript.

+2

Gran sitio: parece el más intuitivo y tiene buena documentación que le ayuda a verificar cosas como el tipo de solicitud, encabezados, datos de formulario, etc. – AlbatrossCafe

2

https://www.mockable.io. Tiene una buena característica de obtener puntos finales sin iniciar sesión (cuenta temporal de 24 horas)

+0

de acuerdo tiene buenas características donde puede establecer la respuesta específica que necesita. es decir, 200/301, 401, etc. Es bueno si quiere simular un error o, en mi caso, no dirigir a una página cuando usa una resolución en Angular si los datos para representar esa página no han regresado (todavía) – fidev

1

No estoy seguro si alguien se tomaría tantas molestias para probar las llamadas GET y POST. Tomé el módulo Python Flask y escribí una función que hace algo similar a lo que compartió @Robert.

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" 

Cuando ejecuto esto, esto sigue:

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) 

Ahora vamos a tratar algunas llamadas. Estoy usando el navegador.

http://127.0.0.1:5000/method

esto es sólo un método GET

http://127.0.0.1:5000/method/NotCorrect

Este deseo no está disponible. Los siguientes son los deseos disponibles: ['application', 'args', 'authorization', 'blueprint', 'charset', 'close', 'cookies', 'data', 'date', 'endpoint', 'environ ',' files ',' form ',' headers ',' host ',' json ',' method ',' mimetype ',' module ',' path ',' pragma ',' range ',' referrer ', 'esquema', 'poco profunda', 'url' 'corriente', 'valores']

http://127.0.0.1:5000/method/environ

{ 'wsgi.multiprocess': Falso, '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, como 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': ', modo' w 'en 0x0000000002042150>,' REMOTE_ADDR ':' 127.0.0.1 ',' HTTP_ACCEPT_LANGUAGE ':' en-US, en; q = 0.8 ' , 'HTTP_ACCEPT_ENCODING': 'gzip, desinflar, sdch, sa'}

5

Si quieres un servidor de prueba local que acepta cualquier URL y simplemente vuelca la petición de la consola, puede utilizar el nodo:

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

guardarlo en un archivo 'echo.js' y ejecutarlo de la siguiente manera:

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

A continuación, puede enviar datos:

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

que se muestra en la salida estándar del servidor:

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]