respuesta protocolo headers enviar encabezados cabeceras http post

protocolo - php cabeceras http



Servidor de prueba HTTP que acepta solicitudes GET/POST (13)

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 permite realizar POST (incluso si realmente no está haciendo nada). Esto es totalmente para fines de prueba.

Un buen ejemplo está here . Fácilmente acepta solicitudes GET, pero también necesito una que acepte solicitudes POST.

¿Alguien sabe de un servidor al que también pueda enviar mensajes de prueba falsos?


Aquí hay un eco de Postman: https://docs.postman-echo.com/

ejemplo:

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

respuesta:

{"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":{"...


Crear elegir un host web gratuito y poner el siguiente código

<h1>Request Headers</h1> <?php $headers = apache_request_headers(); foreach ($headers as $header => $value) { echo "<b>$header:</b> $value <br />/n"; } ?>


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


Hay http://ptsv2.com/

"Aquí encontrará un servidor que recibe cualquier POST que desee darle y almacena los contenidos para que los revise".



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

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 probemos algunas llamadas. Estoy usando el navegador.

http://127.0.0.1:5000/method

Esto es solo un método GET

http://127.0.0.1:5000/method/NotCorrect

Este deseo no está disponible. Los siguientes son los deseos disponibles: [''aplicación'', ''args'', ''autorización'', ''modelo'', ''conjunto de caracteres'', ''cerrar'', ''cookies'', ''datos'', ''fecha'', ''punto final'', ''ambiente '','' archivos '','' formulario '','' encabezados '','' host '','' json '','' método '','' mimetype '','' módulo '','' ruta '','' pragma '','' rango '','' referente '', ''esquema'', ''superficial'', ''flujo'', ''url'', ''valores'']

http://127.0.0.1:5000/method/environ

{''wsgi.multiprocess'': Falso, ''HTTP_COOKIE'': ''csrftoken = YFKYYZl3DtqEJJBwUlap28bLG1T4Cyuq'', ''SERVER_Pare´Porce_empot_empotea_for_placer_empezas_empotea'' '''' '''' '''' '''' '''' '''' '''' '''' '''' '''' '''' '''' '''' '''' '''' '''' '''' '''' '''' '''' '''' '''' '''' '''' '''' '''' '''' '''' '''' ''` ''/ 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 '':'' texto / html, aplicación / xhtml + xml, aplicación / xml; q = 0.9, imagen / 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, deflate, sdch, br ''}


Sólo configura uno tú mismo. Copie este fragmento a su servidor web.

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

Solo publica lo que quieras en esa página. Hecho.


Si desea un servidor de prueba local que acepte cualquier URL y simplemente descargue la solicitud en la consola, puede usar 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}/`); });

Guárdelo en un archivo ''echo.js'' y ejecútelo de la siguiente manera:

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

A continuación, puede enviar los datos:

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

que se mostrará 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]


Webhook Tester es una gran herramienta: https://webhook.site ( GitHub )

Importante para mí, mostró la dirección IP del solicitante, lo cual es útil cuando necesita agregar una dirección IP a la lista blanca pero no está seguro de cuál es.


http://httpbin.org/

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


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


http://requestb.in era similar a las herramientas ya mencionadas y también tenía una interfaz de usuario muy buena.

RequestBin le proporciona una URL que recopilará las solicitudes que se le hagan y le permitirá inspeccionarlas de una manera amigable para el ser humano. Use RequestBin para ver qué está enviando su cliente HTTP o para inspeccionar y depurar solicitudes de webhook.

Aunque se ha suspendido a partir del 21 de marzo de 2018.

Hemos descontinuado la versión pública de RequestBin debido al abuso continuo que hizo muy difícil mantener el sitio de manera confiable. Por favor, consulte las instructions para configurar su propia instancia auto-alojada.


servidor de prueba local de una sola línea nc

Configure un servidor de prueba local en una línea bajo Linux:

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

Fabricante de solicitud de muestra en otro shell:

wget http://localhost:8000

luego en el primer shell ve aparecer la solicitud que se hizo:

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

nc está ampliamente disponible y preinstalado en Ubuntu.

Probado en Ubuntu 18.04.