0

私はpython urllib2のダウンロードサイズの質問を調べていました。

提案された方法RanRag or jterraceは私にとってはうまくいきましたが、urllib2.Request.get_headerメソッドを使用して同じことを達成する方法を知りたいと思っていました。だから、私は以下のコード行を試しました:

>>> import urllib2
>>> req_info = urllib2.Request('http://mirror01.th.ifl.net/releases//precise/ubuntu-12.04-desktop-i386.iso')
>>> req_info.header_items()
[]
>>> req_info.get_header('Content-Length')
>>>

として、get_header返された何も表示されず、どちらも表示されませんheader_items

では、上記の方法を使用する正しい方法は何ですか?

4

1 に答える 1

3

このurllib2.Requestクラスは単なる「URL リクエストの抽象化」( http://docs.python.org/library/urllib2.html#urllib2.Request ) であり、データの実際の取得は行いません。を使用urllib2.urlopenしてデータを取得する必要があります。urlopenURL を文字列として直接受け取るか、Requestオブジェクトのインスタンスを渡すこともできます。

例えば:

>>> req_info = urllib2.urlopen('https://www.google.com/logos/2012/javelin-2012-hp.jpg')
>>> req_info.headers.keys()
['content-length', 'x-xss-protection', 'x-content-type-options', 'expires', 'server', 'last-modified', 'connection', 'cache-control', 'date', 'content-type']
>>> req_info.headers.getheader('Content-Length')
'52741'
于 2012-08-06T17:44:33.200 に答える