python:使用urllib,BaseHTTPServer下载文件

时间:2011-06-30 09:50:20

标签: python urllib2

我正在制作RPM文件缓存服务器。网络上的PC访问缓存服务器。如果该文件存在于服务器上,则会提供该文件。如果没有,它将在上传之前从互联网上下载。

我用BaseHTTPServer用urllib写这个来获取文件。现在使用小文件,下载文件和提供文件之间几乎没有延迟。

...
store_file.write(download_buffer.read())
store_file.close()
...
f=open(file_path,'r')
self.wfile.write(f.read())
...

但有些文件下载可能需要几分钟。因此,当服务器完成文件时,客户端会一直等待。这可能会导致客户端超时。我们如何在下载文件时提供文件以防止客户超时?

1 个答案:

答案 0 :(得分:2)

读写循环。

x= download_buffer.read(1024)
while x:
    self.wfile.write(x)
    x= download_buffer.read(1024)