2

是否可以在 Windows 中使用 netcat 工具制作单页 Web 服务器,就像可以在 Linux 中使用 bash 使用此命令制作的服务器一样?(基本上是shell脚本):

while true;
    do { echo -e 'HTTP/1.1 200 OK\r\n'; cat index.html; } | nc -l 80; 
done

提前致谢。

编辑:

我正在使用的测试 index.html 文件是这样的:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <META HTTP-EQUIV="Content-Type" Content="text/html; charset=us-ascii">
        <title>Hi.</title>
    </head>
    <body>
        <h1>Hi.</h1>
    </body>
</html>
4

3 回答 3

1

假设你有一个 Windows 版本的 nc,应该可以用这个 3 行批处理文件完成同样的事情:

:Start
(echo HTTP/1.1 200 OK & type index.html) | nc -l 80
goto :Start
于 2013-06-22T00:32:49.987 回答
0

好的,在嗅了一些标题并弄乱了一些之后,我设法使用它使它工作:

FOR /L %%i IN (1,0,2) DO ( (type responce.txt & type index.html) | nc -l -p 80 )

//responce.txt
HTTP/1.1 200 OK
Content-Type: text/html

//index.html (see question edit above)
于 2013-06-22T07:28:34.370 回答
0

假设您更喜欢单线:

FOR /L %i IN (1,0,2) DO ( (echo HTTP/1.1 200 OK & type index.html) | nc -l -p 80 )

(对于脚本,将%i替换为%%i

我让这个与我在这里找到的 Netcat 一起工作

index.html 必须有足够的 HTTP 标头才能运行(例如“Content-Type”),因此它不是严格意义上的 HTML 文档。我假设你已经完成了那部分。

于 2013-06-22T04:13:12.573 回答