单行Python网页服务器

65 投票
2 回答
71530 浏览
提问于 2025-04-17 05:54

我记得几年前看到过一个用一行代码实现的网页服务器。我知道有SimpleHTTPServer之类的东西,但那不是我说的 - 我觉得那个是用Socket和select()实现的。

我以为是在Python Tutor的邮件列表上看到的,但我查找了档案也没找到,谷歌搜索也没有结果。我在想这里有没有人能给我一些线索,或者最好能给我一个原始链接。

不过我想原作者可能因为不好意思而把它删掉了……

2 个回答

2

这是不是在说 perl 呢? 最喜欢的一行代码

perl -MIO::All -e 'io(":8080")->fork->accept->(sub { $_[0] < io(-x $1 ? "./$1 |" : $1) if /^GET \/(.*) / })'
130

我很确定,你不能只用一行代码就用套接字和select()来搭建一个网络服务器。即使用分号也不行,你需要一些循环和控制结构。

你确定这不是你想要的东西吗?

Python 3版本:

$ python -m http.server 8000
Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/) ...

Python 2版本:python -m SimpleHTTPServer 8000

撰写回答