john pfeiffer
  • Home
  • Categories
  • Tags
  • Archives

urllib2 replace requests namedtuple wrapper httperror

from collections import namedtuple
import urllib2
# import requests


class requests( object ):
    """ wrapper in order to re-use code with requests but instead use urllib2
        does not use do connection reuse or session handling
    """

    Response = namedtuple( 'Response' , 'status_code, content' )


    @staticmethod
    def get( url ):
        try:
            connection = urllib2.urlopen( urllib2.Request( url ) )
            status_code = connection.getcode()
            content = connection.read()

        except urllib2.HTTPError as error:
            status_code = error.code
            content = error.read()

        return requests.Response( status_code = status_code, content = content )



if __name__ == '__main__':

    print 'start'
    response = requests.get( 'https://john-pfeiffer.appspot.com/getip' )
    print response.status_code
    print response.content

    response = requests.get( 'http://kittyandbear.net/definitely-not-found' )
    print response.status_code
    print response.content

    print 'done'

  • « selenium integration tests
  • javascript date setUTCSeconds »

Published

Oct 25, 2013

Category

python

~85 words

Tags

  • httperror 1
  • namedtuple 3
  • python 180
  • replace 7
  • requests 5
  • urllib2 2
  • wrapper 1