我正在尋找一個支持分塊編碼回覆的支持良好的多線程Python HTTP服務器。 (也就是說,「傳輸編碼:分塊」)。爲此目的開始的最佳HTTP服務器基礎是什麼?支持分塊編碼的Python HTTP服務器?
5
A
回答
5
扭曲支撐chunked transfer encoding (API link)(另請參閱HTTPChannel的API文檔)。有許多使用Twisted的生產級項目(例如,Apple將它用於Mac OS X Server中的iCalendar服務器),因此它得到了很好的支持並且非常強大。
0
我很確定WSGI兼容服務器應該支持。本質上,WSGI應用程序返回Web服務器返回的可迭代塊。我沒有這方面的第一手經驗,但這是一個list of compliant servers。
我應該認爲,如果WSGI服務器不符合你的要求,使用Python內置的CGIHTTPServer,你可以很容易地推出自己的產品。它已經是多線程的,所以它只是由你來分組響應。
2
扭曲的支持分塊傳輸,它是透明的。即如果您的請求處理程序未指定響應長度,則twisted將自動切換爲分塊傳輸,並且每次調用request.write時都會生成一個塊。
0
我設法用Tornado做到這一點:
#!/usr/bin/env python
import logging
import tornado.httpserver
import tornado.ioloop
import tornado.options
import tornado.web
from tornado.options import define, options
define("port", default=8080, help="run on the given port", type=int)
@tornado.web.stream_request_body
class MainHandler(tornado.web.RequestHandler):
def post(self):
print()
def data_received(self, chunk):
self.write(chunk)
logging.info(chunk)
def main():
tornado.options.parse_command_line()
application = tornado.web.Application([
(r"/", MainHandler),
])
http_server = tornado.httpserver.HTTPServer(application)
http_server.listen(options.port)
tornado.ioloop.IOLoop.current().start()
if __name__ == "__main__":
main()
相關問題
- 1. C#中的Http服務器支持分塊傳輸編碼
- 2. 支持Http的視頻服務器
- 3. 爲HTTP服務器響應禁用分塊編碼
- 4. Jetty是否支持HTTP分塊響應/傳輸編碼?
- 5. 帶腳本運行支持的Python獨立HTTP服務器?
- 6. nginx HTTP/2模塊是否支持服務器推送?
- 7. 設置支持Python的Wamp服務器
- 8. 編譯支持動態模塊的Apache web服務器
- 9. HttpWebRequest錯誤支持類型分塊的編碼
- 10. 爲什麼IIS不支持分塊傳輸編碼?
- 11. 支持分塊編碼請求的HTTPS代理
- 12. Python OpenCV不支持編解碼器
- 13. 支持我的代理服務器中的持久HTTP連接
- 14. Visual Studio代碼支持用C#編寫的語言服務器
- 15. HTTP HEAD分塊編碼
- 16. HTTP服務器不支持持久連接
- 17. HTTP代理服務器保持活動連接支持
- 18. 單個MySQL服務器可以支持多種編碼嗎?
- 19. Indy HTTP服務器URL編碼請求
- 20. 的Python:從HTTP服務器
- 21. WCF Rest客戶端和傳輸編碼分塊:是否支持?
- 22. OpenCV2編解碼器支持
- 23. WebSocket服務器支持
- 24. 編寫自定義http服務器,支持AJAX是否需要通過HTTP GET獲得額外的代碼?
- 25. 支持SSI的最簡單的http服務器?
- 26. 支持公共網絡的iPhone上的HTTP服務器?
- 27. Python在代碼中啓動HTTP服務器(創建.py啓動HTTP服務器)
- 28. Python 2.7:流HTTP服務器支持一個端口上的多個連接
- 29. 獲取的RESTify REST API服務器支持HTTPS和HTTP
- 30. Visual Studio的內置Web服務器是否支持HTTP PUT?
謝謝,我聽說扭曲的,但我的第一印象是,這是我的任務有點重量級。我要再看一下,因爲它看起來像你可以下載並運行twisted.web而沒有其他的東西。 – slacy 2009-04-09 06:18:04