创建一个接收XML HTTP请求的Python网络服务器

1 投票
3 回答
2052 浏览
提问于 2025-04-16 11:13

我现在正在做一个项目,想创建一个简单的文件上传网站,这个网站可以让用户看到上传进度。

我尝试在服务器端用纯Python(配合CGI)来实现这个功能,但要获取文件的上传进度,我显然需要不断地向服务器发送请求。我想用AJAX来做到这一点,但我在想,是否真的需要换用其他框架(比如web.py),还是可以自己写一个接收XML HTTP请求的网页服务器呢?

我主要的问题是,发送请求是通过HTML和JavaScript来完成的,所以现在看起来这一切都像是魔术一样。

有没有人能给我一些建议,告诉我在服务器上接收这些请求的最佳方法是什么?

补充:看起来使用框架会是个不错的选择。web.py会是一个好的方向吗?

3 个回答

0

写一个非常简单的HTTP服务器其实并不难(你可以参考这个链接:http://docs.python.org/library/simplehttpserver.html),但是这样做会缺少很多真正的服务器和网络框架所提供的功能。

对于你的项目,我建议你选择一个流行的Python网络框架,然后在Apache/mod_wsgi的支持下运行你的应用。

0

其实你完全不需要自己写一个网页服务器。市面上有很多现成的选择,比如轻量级的 nginx。

你可以用这些现成的服务器,然后写一些自己的代码来处理请求,或者更简单一点,使用像 Flask 或 Bottle 这样的微框架。

1

我建议使用像Sinatra这样的微框架来进行Ruby开发。Python中也有一些类似的框架。你会推荐哪个Python框架来替代Sinatra呢?

这样的框架可以让你很简单地把一个方法和一个路径对应起来。

撰写回答