私は単純なコードを使用しています:
import urllib2
response = urllib2.urlopen("http://www.mysite.com/getfile/4355")
output = open('myfile.zip','wb')
output.write(response.read())
output.close()
Web サーバーは IIS + ASP.NET MVC 4 です。「application/octet-stream」コンテンツ タイプの zip ファイルをラップする FileResult を返します。
問題は、ダウンロードした zip ファイルが壊れていることです。サイズはわずか 4.1kB ですが、24kB である必要があります。URLアドレスをWebブラウザに直接入力すると、ダウンロードして正常に開きます。
私の Python コードの何が問題なのか教えてください。
編集
他の2つの方法を試しました-同じ結果です。
import urllib
urllib.urlretrieve(url, targetFile)
h = httplib2.Http(".cache")
response, content = h.request(url)
with open(targetFile, 'wb') as f:
f.write(content)