Question

python urllib2 urlopen response:

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

expected:

{"token":"mYWmzpunvasAT795niiR"}

Was it helpful?

Solution

You need to bind the resultant file-like object to a variable, otherwise the interpreter just dumps it via 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>>

To get the actual data you need to perform a read().

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

To see the headers returned:

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

OTHER TIPS

Add the following after your call to urlopen

print feed.read()

Perhaps you will find using the requests library more intuitive to use than urllib2.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top