[Python-ml-jp 4798] Re: ダウンロードのリスタート (urllib)

Atsushi Odagiri aodagx @ gmail.com
2009年 8月 3日 (月) 01:13:58 JST


小田切です。

httplibや、httplib2を使って、rangeヘッダを付ければいいんじゃないでしょうか?

2009/8/2 十河 満 <coolhead @ a1.mbn.or.jp>:
> ソガワと申します。またお世話になります。
>
> FreeBSD7.2のCDやDVDのisoイメージをFirefoxで落としていたのですが、
> 何せ携帯のHSDPAなのでmd5やsha256が一致せず、それではとftpも対応
> してるurllibで簡単なダウンローダーを記述しました。ついでにhashlib
> でmd5とsha256も組み込みました。CDは全部落とせたのですが欲張って
> DVDも落としておこうと思い、起動して就寝したところ、眼が覚めると
> 携帯電話会社から接続を切られてました。調べると800MBは落ちてるので、
> リスタートの機能を付けたいと思い色々調べたのですが、良い方法が解り
> ません。諸兄のお知恵をお借りしたいと思いますので、宜しくお願い致し
> ます。
> なお、urllibのソースでretrieve()を見ると
> bs = 1024*8
> size = -1
> read = 0
> blocknum = 0
> :
> while 1:
> block = fp.read(bs)
> if block == "":
> break
> read += len(block)
> tfp.write(block)
> blocknum += 1
> if reporthook:
> reporthook(blocknum, bs, size)
>
> こんな感じでしたので、素人考えでfp.read(bs)で空読みする関数が有れ
> ばなーと思った次第です。それにしても今の時代 bs = 1024*8 は些か小
> さ過ぎるのではないかと思いました。それともRFCで規定してるのでしょ
> うか?
> なお、上記ライブラリの一部を引用してますが権利的に問題あればご指摘
> 下さい。
> 以上、宜しくお願い申し上げます。
>
> _______________________________________________
> Python-ml-jp mailing list
> Python-ml-jp @ python.jp
> http://www.python.jp/mailman/listinfo/python-ml-jp
>



-- 
/*
Atsushi Odagiri
http://blog.aodag.jp
mailto:aodagx @ gmail.com
*/



Python-ml-jp メーリングリストの案内