python - 如何使用twisted下载远程文件?

标签 python twisted

我对 Twisted 还比较陌生,我计划使用它来创建一个文件下载器。它将接受一个文件 URL 和多个部分来下载该文件。

我的想法是将文件分成用户指定的几个部分,并通过延迟下载每个部分,完成后,所有部分都将被组装。

但是我是否需要为每个要下载的文件指定一个协议(protocol),并让每个协议(protocol)调度一个延迟来下载每个文件的 block ?

是否有一个扭曲的组件来读取具有查找的远程文件?我真的不知道从哪里开始。

最佳答案

如果您提到的 URL 暗示所使用的协议(protocol)是 HTTP(我希望是 HTTP 1.1;-),那么您可以使用twisted 相对较新的 HTTP 1.1 客户端(已详细讨论 here ,并且从以下事实来看:该问题在 9 个月前被标记为已修复(我假设客户端终于进入了——我还没有检查过),使用 HTTP 1.1 的 range requests获取文件的“切片”。

如果您坚持使用 HTTP 1.0 或不完全兼容的服务器,那么您可能会运气不佳;如果你真的指的是“URL”的“U”部分,即你需要一个跨各种协议(protocol)的通用解决方案,那么问题当然会变得非常非常困难。

关于python - 如何使用twisted下载远程文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3325871/

相关文章:

python - 我应该如何处理 twisted.application.internet.ClientService 中的重新连接?

python - 仅当问题存在时才显示问题评论

python - 将文件合并到大小大致相等的目录中

python - 使用rabbitmq和twisted

twisted - 用twisted 连接两次——如何正确地做到这一点?

python - 是否可以在 Twisted 中的套接字上设置超时?

python - 使用多重处理来存储大图像

python - Python 中的函数多态性

python - 获取给定值对应的 "zero value"

process - 扭曲的使用过程