我想http://localhost:PORT/
暂时提供 文件夹的内容。一个非常基本的 http 服务器。
我已经知道了,
$ python -m SimpleHttpServer
或者(这似乎是新方法)
$ python -m http.server
但我正在寻找替代的命令行方法。
答案1
UNIX 中不存在“系统”网络服务器和不同的“方法”之类的东西。
您可以在包含简单网络服务器的系统上安装软件并使用或不使用它。
python -m SimpleHttpServer
只需加载 SimpleHttpServer 模块,其中包含一个基本的 Web 服务器。
Perl 也有类似的东西,看看 CPAN:http://search.cpan.org/dist/HTTP-Server-Simple/
“简单”是Java的解决方案:http://www.simpleframework.org/
使用 JavaScript 和 Nodejs 可以很容易地实现同样的效果:http://nodejs.org/api.html,请参阅有关 HTTP 的部分。
另一个解决方案是自己做:HTTP 是一个非常简单的协议,当它只提供一些静态文件时。要获取 /foo/bar ,您的浏览器将通过以下方式请求它:
GET /foo/bar HTTP/1.1
回复应采用以下形式:
HTTP/1.0 200 OK
Last-Modified: Tue, 10 Jan 2010 11:11:11 GMT
Content-Type: text/html; charset=utf-8
YOUR CONTENT
或者
HTTP/1.1 404 Not Found
Last-Modified: Tue, 10 Jan 2010 11:11:11 GMT
Content-Type: text/html; charset=utf-8
YOUR 404 ERROR PAGE
包含 Last-Modified 标头以启用资源缓存。应该可以用几行代码编写一个最小的实现。将其连接到端口,您的网络服务器就会启动并运行。使用inetd或netcat将其绑定到您的IP。
编辑:这是一个简单的 shell 脚本,它正是完成这项工作。它还支持为文件夹生成索引和 404 错误处理:
- SWS 联机帮助页: http://prd4.wynn.com:8080/src/sws.8.html
- SWS 来源: http://prd4.wynn.com:8080/src/sws.txt
- SWS项目页面: http://prd4.wynn.com:8080/README.html