蟒蛇的urllib2的urlopen响应:蟒蛇的urllib2的urlopen响应
<addinfourl at 1081306700 whose fp = <socket._fileobject object at 0x4073192c>>
预期:
{ “令牌”: “mYWmzpunvasAT795niiR”}
蟒蛇的urllib2的urlopen响应:蟒蛇的urllib2的urlopen响应
<addinfourl at 1081306700 whose fp = <socket._fileobject object at 0x4073192c>>
预期:
{ “令牌”: “mYWmzpunvasAT795niiR”}
您需要将结果文件类对象绑定到变量,o therwise解释通过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 ...
您的通话后添加以下urlopen
print feed.read()
我在这里有一个问题。如果我不将'f'的内容存储到'data',并且只执行'f.read()',我只能得到一次内容。如果我再次执行'f.read()',它将打印一个空字符串。这是为什么? –
@SidharthSamant:因为你已经消耗了流中的所有数据 - 它不是由'urllib2'内部存储的。 – mhawke