我正在寻找一个可以充当简单 http“服务器”的命令行工具,它可以将对它的请求打印到控制台并以 200 回复。特别是,它需要支持 POST 命令。
答案1
如果我理解正确的话,Netcat 会这样做。
我喜欢使用 netcat 版本这里因为它没有与 -e 选项相关的安全问题。
现在创建一个包含以下内容的文本文件:
echo HTTP/1.0 200 OK
<html>
<head>
<title>hello</title>
</head>
<body>
<h1>hello world</h1>
<form method="post">
send something: <input type="text" name="postText" />
<input type="submit" value="Submit" />
</form>
</body>
</html>
如果您在命令行上运行以下命令,其中 page.txt 是上述文本文件的名称,则 netcat 将充当单行 Web 服务器。
for /l %a in (1,0,2) do type page.txt | nc -w 1 -l -p 80 | findstr "postText"
正在连接至http://本地主机将显示上面的网页。在“发送内容”框中输入内容并按提交将显示在运行 netcat 的命令行上提交的值。“-w 1”(一秒钟后断开连接)有点敷衍,可以让 netcat 表现得像一个 Web 服务器,但它确实有效,尽管有一秒钟的延迟。
您甚至可以使用批处理文件来返回一些依赖于您发布内容的 http,通过将命令的整个输出重定向到批处理文件,并在循环中使用 set /p 来查找“postText=”。
答案2
答案3
您可能要研究 Netcat 的 win32 端口,即 NCat。请参阅此页面,了解监听模式下 NCat 的示例: http://nmap.org/ncat/guide/ncat-usage.html#ncat-listen 了解如何获取您指定的 200 结果代码。
您可能还会查看: http://www.ritlabs.com/en/products/tinyweb/
它是一个命令行 Web 服务器,没有任何附加功能 - 但也可能提供您正在寻找的内容。
抢