Тестовый сервер HTTP, принимающий запросы GET / POST - PullRequest
401 голосов
/ 20 апреля 2011

Мне нужен живой тестовый сервер, который принимает мои запросы на базовую информацию через HTTP GET, а также позволяет мне выполнять POST (даже если он действительно ничего не делает).Это полностью для целей тестирования.

Хороший пример: здесь .Он легко принимает запросы GET, но мне нужен и тот, который принимает запросы POST.

Кто-нибудь знает о сервере, на котором я тоже могу отправлять фиктивные тестовые сообщения?

Ответы [ 13 ]

674 голосов
/ 19 марта 2012

http://httpbin.org/

Это повторяет данные, использованные в вашем запросе для любого из следующих типов:

109 голосов
/ 25 августа 2011

Есть http://ptsv2.com/

"Здесь вы найдете сервер, который получает любой POST, который вы хотите передать, и сохраняет содержимое для просмотра."

37 голосов
/ 27 августа 2015

http://requestb.in был похож на уже упомянутые инструменты и также имел очень приятный интерфейс.

RequestBin дает вам URL, который будет собирать запросы, сделанные к нему, и позволит вам проверить их в удобной для человека форме. Используйте RequestBin для просмотра того, что отправляет ваш HTTP-клиент, или для проверки и отладки запросов webhook.

Хотя оно было прекращено с 21 марта 2018 года.

Мы прекратили доступ к общедоступной версии RequestBin из-за постоянных злоупотреблений, которые сильно затруднили надежную работу сайта. Пожалуйста, ознакомьтесь с инструкциями по настройке собственного экземпляра.

28 голосов
/ 30 августа 2015

Посмотрите на PutsReq , он похож на другие, но также позволяет писать ответы, которые вы хотите, используя JavaScript.

20 голосов
/ 17 октября 2017

Если вам нужен локальный тестовый сервер, который принимает любой URL и просто выводит запрос на консоль, вы можете использовать узел:

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

Сохранить его в файле 'echo.js' и запустить егоследующим образом:

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

Затем вы можете отправить данные:

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

, которые будут показаны в выводе сервера:

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]
13 голосов
/ 19 июня 2018

Webhook Tester - отличный инструмент: https://webhook.site ( GitHub )

enter image description here

Важно для меня,он показывал IP-адрес запрашивающей стороны, что полезно, когда вам нужно добавить IP-адрес в белый список, но вы не уверены, что это такое.

5 голосов

nc однострочный локальный тестовый сервер

Настройка локального тестового сервера в одной строке под Linux:

nc -kdl localhost 8000

Пример создателя запроса в другой оболочке:

wget http://localhost:8000

затем в первой оболочке вы видите, что сделанный запрос появляется:

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

nc из пакета netcat-openbsd широко доступен и предварительно установлен в Ubuntu.

Проверено на Ubuntu 18.04.

5 голосов
/ 16 марта 2012

Создать выберите бесплатный веб-хостинг и введите следующий код

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

 foreach ($headers as $header => $value) {
     echo "<b>$header:</b> $value <br />\n";
 }
 ?>
4 голосов
/ 02 мая 2017

https://www.mockable.io. Имеет хорошую функцию получения конечных точек без входа в систему (24-часовой временный аккаунт)

2 голосов
/ 06 октября 2018

Вот одно эхо почтальона: https://docs.postman -echo.com /

пример:

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

Ответ:

{"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":{"...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...