Servidor de teste HTTP que aceita pedidos de obtenção / publicação
Preciso de um servidor de testes ao vivo que aceite os meus pedidos de informação básica via HTTP GET e também me permita postar (mesmo que não esteja realmente a fazer nada). Isto é inteiramente para fins de teste.
um bom exemplo é aqui . Ele aceita facilmente obter pedidos, mas eu preciso de um que aceita pedidos POST também.
Alguém sabe de um servidor que eu possa enviar mensagens de teste falsas também?13 answers
Faz eco dos dados utilizados no seu pedido para qualquer um destes tipos:
- http://httpbin.org/ip Devolve o IP de origem.
- http://httpbin.org/user-agent Devolve o agente do utilizador.
- http://httpbin.org/headers Devolve o dict header.
- http://httpbin.org/get Devolve obter dados.
- http://httpbin.org/post Devolve a pós dado.
- http://httpbin.org/put Devolve colocar os dados.
- http://httpbin.org/delete Devolve apagar os dados
- http://httpbin.org/gzip devolve os dados codificados pelo gzip.
- http://httpbin.org/status/:code o Devolve o código de estado HTTP.
- http://httpbin.org/response-headers?key=val devolve os cabeçalhos de resposta.
- http://httpbin.org/redirect/:n 302 Redirectos n situacao.
- http://httpbin.org/relative-redirect/:n 302 redirecções relativas n vezes.
- http://httpbin.org/cookies devolve os dados dos 'cookies'.
- http://httpbin.org/cookies/set/:name/:value define um simples cookie.
- http://httpbin.org/basic-auth/:user/:passwd desafia a Auth do HTTPBasic.
- http://httpbin.org/hidden-basic-auth/:user/:passwd 404'd BasicAuth.
- http://httpbin.org/digest-auth/:qop/:user/:passwd desafia o HTTP Digest Auth.
- http://httpbin.org/stream/:n fluxos n–100 linhas.
- http://httpbin.org/delay/:n atrasos a responder por n-10 segundos.
, Existe http://ptsv2.com/
" Aqui você vai encontrar um servidor que recebe qualquer POST que você deseja dar e guarda o conteúdo para você rever."
Http://requestb.in era semelhante às ferramentas já mencionadas e também tinha uma UI muito agradável.
O RequestBin dá-lhe uma URL que irá recolher os pedidos que lhe forem feitos e deixá-lo inspeccioná-los de uma forma amiga do homem. Use o RequestBin para ver o que o seu cliente de HTTP está a enviar ou para inspeccionar e depurar os pedidos do webhook.
Embora tenha sido descontinuado a partir de 21 de Março de 2018.
Nós interrompemos a versão apresentada publicamente de RequestBin devido ao abuso contínuo que tornou muito difícil manter o site de forma confiável. Por favor veja instruções para configurar a sua própria instância.
Dê uma olhada em PutsReq , é semelhante aos outros, mas também permite que você escreva as respostas que deseja usando JavaScript.
Se quiser um servidor de testes local que aceite qualquer URL e apenas envie o pedido para a consola, poderá usar o node:
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}/`);
});
Guarda - o num ficheiro eco.js ' e executá-lo da seguinte forma:
$ node echo.js
Server running at http://localhost:3000/
Pode então enviar dados:
$ curl -d "[1,2,3]" -XPOST http://localhost:3000/foo/bar
Que será mostrado no stdout do 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]
Criar escolha uma máquina web livre e coloque o seguinte código
<h1>Request Headers</h1>
<?php
$headers = apache_request_headers();
foreach ($headers as $header => $value) {
echo "<b>$header:</b> $value <br />\n";
}
?>
O teste do Webhook é uma grande ferramenta: https://webhook.local (GitHub)
Importante para mim, mostrou o IP do requerente, o que ajuda quando se precisa de whitelist um endereço IP, mas não se sabe o que é.Https://www.mockable.io . tem uma boa característica de obter pontos finais sem login (conta temporária de 24h)
Ligação do Github : https://github.com/prabodhprakash/localTestingServer
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"
Quando eu executar isto, isto segue:
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)
Agora vamos tentar algumas chamadas. Estou a usar o navegador.
Este é apenas um método GETHttp://127.0.0.1:5000/method/NotCorrect
Este desejo não é disponivel. Os desejos disponíveis são os seguintes: ['application', 'args', 'authorization', 'blueprint', 'charset', 'close', 'cookies', 'data', 'endpoint', 'environ', 'files', 'form', 'headers', 'host', 'json', 'method', 'mimetype', 'module', 'path', 'pragma', 'range', 'referrer', 'scheme', 'shallow', 'stream', 'url", "values"]Http://127.0.0.1:5000/method/environ
{'wsgi.multiprocess: False, 'HTTP_COOKIE': 'csrftoken=YFKYYZl3DtqEJJBwUlap28bLG1T4Cyuq', 'SERVER_SOFTWARE': 'Werkzeug/0.12.2', 'NOME_DO_SCRIPT': ", 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/método/environ', 'SERVER_PROTOCOL': 'HTTP/1.1', 'QUERY_STRING': ", 'werkzeug.servidor.desligamento': , 'HTTP_USER_AGENT': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like 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.pedido":, " wsgi.entrada": , "HTTP_ host": "127.0.0.1: 5000", " wsgi.multithread': False, 'HTTP_UPGRADE_INSECURE_REQUESTS': '1', 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;p=0.9,imagem/webp,/;q=0.8', 'wsgi.versão": (1, 0), " wsgi.run_ once': False, ' wsgi.erros":", modo " w "em 0x00000002042150>, "REMOTE_ADDR": "127.0.0.1", "HTTP_ACCEPT_LANGUAGE": "en-US, en; q=0.8", "HTTP_ACEPT_ENCODING": "gzip, deflate, sdch, br"}
nc
servidor de teste local de um invólucro
Configurar um servidor de teste local numa linha sob o Linux:
while true; do printf '' | nc -l localhost 8000; done
Fabricante do pedido de amostra noutra concha:
wget http://localhost:8000
Então na primeira concha você vê o pedido que foi feito aparecer:
GET / HTTP/1.1
User-Agent: Wget/1.19.4 (linux-gnu)
Accept: */*
Accept-Encoding: identity
Host: localhost:8000
Connection: Keep-Alive
nc
está amplamente disponível e pré-instalado no Ubuntu.
Testado em Ubuntu 18.04.
Exemplo:
curl --request POST \
--url https://postman-echo.com/post \
--data 'This is expected to be sent back as part of response body.'
Resposta:
{"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":{"...
echo "<pre>"; print_r($_POST); echo "</pre>";Basta postar o que você quer nessa página. Terminar.