Search code examples
pythonurllib2urlopen

python urllib2 urlopen response


python urllib2 urlopen response:

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

expected:

{"token":"mYWmzpunvasAT795niiR"}


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 ...