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

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

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

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

Ответы [ 13 ]

2 голосов
/ 29 сентября 2016

Я создал взломанный локальный сервер тестирования с открытым исходным кодом, который можно запустить за считанные минуты.Вы можете создавать новые API, определять свой собственный ответ и взламывать его любым удобным для вас способом.

Github Link : https://github.com/prabodhprakash/localTestingServer

1 голос
/ 14 июля 2017

Я не уверен, что кому-то придется так сильно испытывать вызовы GET и POST.Я взял модуль Python Flask и написал функцию, которая делает нечто похожее на то, что делило @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"

Когда я запускаю это, это выглядит следующим образом:

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)

Теперь давайте попробуем несколько вызовов.Я использую браузер.

http://127.0.0.1:5000/method

Это всего лишь метод GET

http://127.0.0.1:5000/method/NotCorrect

Это желание недоступно,Ниже перечислены доступные пожелания: ['application', 'args', 'authorization', 'blueprint', 'charset', 'close', 'cookies', 'data', 'date', 'endpoint', 'environment',' files ',' form ',' headers ',' host ',' json ',' method ',' mimetype ',' module ',' path ',' pragma ',' range ',' referrer ','схема', 'мелкий', 'поток', 'URL-адрес,' значения ']

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 ':' HTTP: '' '',' QUERY_STRING ':' ',' werkzeug.server.shutdown ':,' HTTP_USER_AGENT ':' Mozilla / 5.0 (Windows NT 6.1; WOW64) AppleWebKit / 537.36 (KHTML, как 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, изображение / webp, / ; q = 0,8','wsgi.version': (1, 0), 'wsgi.run_once': False, 'wsgi.errors': ', режим' w 'в 0x0000000002042150>,' REMOTE_ADDR ':' 127.0.0.1 ',' HTTP_ACCEPT_LANGUAGE ':'en-US, en; q = 0,8', 'HTTP_ACCEPT_ENCODING': 'gzip, deflate, sdch, br'}

0 голосов
/ 20 апреля 2011

Просто настройте себя.Скопируйте этот фрагмент на ваш веб-сервер.


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

Просто опубликуйте то, что вы хотите на этой странице. Готово.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...