我需要一个实时测试服务器,它通过HTTP GET接受我对基本信息的请求,并允许我POST(即使它真的什么都不做)。这完全是为了测试目的。

这里有一个很好的例子。它很容易接受GET请求,但我需要一个接受POST请求以及。

有人知道我也可以发送虚拟测试消息的服务器吗?


当前回答

另一个提供一些定制且易于使用(无需安装、注册)的网站是https://beeceptor.com。

您创建一个端点,向它发出初始请求,并可以调整响应。

其他回答

你可以在本地运行Ken Reitz的httpbin服务器(在docker下或裸机上):

https://github.com/postmanlabs/httpbin

运行dockerized

docker pull kennethreitz/httpbin
docker run -p 80:80 kennethreitz/httpbin

直接在您的机器上运行

## install dependencies
pip3 install gunicorn decorator httpbin werkzeug Flask flasgger brotlipy gevent meinheld six pyyaml

## start the server
gunicorn -b 0.0.0.0:8000 httpbin:app -k gevent

现在,您在http://0.0.0.0:8000上运行了个人httpbin实例(对您的所有局域网可见)

Minimal Flask REST服务器

我想要一个返回预定义响应的服务器,所以我发现在这种情况下,使用一个最小的Flask应用程序更简单:

#!/usr/bin/env python3

# Install dependencies:
#   pip3 install flask

import json

from flask import Flask, request, jsonify

app = Flask(__name__)

@app.route('/', methods=['GET', 'POST'])
def root():
    # spit back whatever was posted + the full env 
    return jsonify(
        {
            'request.json': request.json,
            'request.values': request.values,
            'env': json.loads(json.dumps(request.__dict__, sort_keys=True, default=str))
        }
    )

@app.route('/post', methods=['GET', 'POST'])
def post():
    if not request.json:
        return 'No JSON payload! Expecting POST!'
    # return the literal POST-ed payload
    return jsonify(
        {
            'payload': request.json,
        }
    )

@app.route('/users/<gid>', methods=['GET', 'POST'])
def users(gid):
    # return a JSON list of users in a group
    return jsonify([{'user_id': i,'group_id': gid } for i in range(42)])

@app.route('/healthcheck', methods=['GET'])
def healthcheck():
    # return some JSON
    return jsonify({'key': 'healthcheck', 'status': 200})

if __name__ == "__main__":
    with app.test_request_context():
        app.debug = True
    app.run(debug=True, host='0.0.0.0', port=8000)

Nc一行本地测试服务器

在Linux下用一行设置本地测试服务器:

nc -kdl localhost 8000

另一个shell上的请求生成器示例:

wget http://localhost:8000

然后在第一个shell中,你看到请求显示出来:

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

netcat-openbsd包中的nc是广泛可用的,并且已预先安装在Ubuntu上。

在Ubuntu 18.04上测试。

http://requestb.in类似于前面提到的工具,也有一个非常漂亮的UI。

RequestBin为您提供了一个URL,该URL将收集向它发出的请求,并让您以一种人性化的方式检查它们。 使用RequestBin查看HTTP客户端发送的内容或检查和调试webhook请求。

虽然它已于2018年3月21日停产。

由于持续的滥用,我们已经停止了RequestBin的公开托管版本,这使得它很难保持站点的可靠运行。请参阅有关设置自己的自托管实例的说明。

创建选择一个免费的网络主机,并把以下代码

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

有http://ptsv2.com/

“在这里,你会发现一个服务器,它可以接收你想要发送的任何POST,并存储内容供你审阅。”