バックグラウンド:モジュールurllib.urlretrieve
内の他の関数とは対照的にurllib*
、フック関数のサポート (以下をreporthook
参照) .. を使用して、テキストの進行状況バーを表示するために使用しています。これは Python >=2.6 です。
>>> urllib.urlretrieve(url[, filename[, reporthook[, data]]])
ただし、urlretrieve
非常に愚かであるため、HTTP 要求のステータスを検出する方法がありません (例: 404 または 200 でしたか?)。
>>> fn, h = urllib.urlretrieve('http://google.com/foo/bar')
>>> h.items()
[('date', 'Thu, 20 Aug 2009 20:07:40 GMT'),
('expires', '-1'),
('content-type', 'text/html; charset=ISO-8859-1'),
('server', 'gws'),
('cache-control', 'private, max-age=0')]
>>> h.status
''
>>>
フックのようなサポート (進行状況バーを表示するため) と適切な HTTP エラー処理を備えたリモート HTTP ファイルをダウンロードする最もよく知られている方法は何ですか?