web-dev-qa-db-ja.com

python urllib2 urlopen応答

python urllib2 urlopen応答:

<addinfourl at 1081306700 whose fp = <socket._fileobject object at 0x4073192c>>

期待される:

{"トークン": "mYWmzpunvasAT795niiR"}

19
Shown

結果のファイルのようなオブジェクトを変数にバインドする必要があります。そうでない場合、インタプリタはreprを介してそれをダンプします。

_>>> import urllib2
>>> urllib2.urlopen('http://www.google.com')
<addinfourl at 18362520 whose fp = <socket._fileobject object at 0x106b250>>
>>> 
>>> f = urllib2.urlopen('http://www.google.com')
>>> f
<addinfourl at 18635448 whose fp = <socket._fileobject object at 0x106b950>>
_

実際のデータを取得するには、read()を実行する必要があります。

_>>> data = f.read()
>>> data[:50]
'<!doctype html><html itemscope="itemscope" itemtyp'
_

返されたヘッダーを表示するには:

_>>> print f.headers
Date: Thu, 23 Aug 2012 00:46:22 GMT
Expires: -1
Cache-Control: private, max-age=0
... etc ...
_
26
mhawke

urlopenの呼び出しの後に以下を追加します

print feed.read()
4
David

requests library を使用すると、urllib2よりも直感的に使用できるでしょう。

2
joeln