python HttpService

import logging
import socket
import urllib
import urllib2
class HttpService():
    def __init__(self,logger=None):
        self.logger = logger or logging.getLogger(__name__)
    def post(self,url,params):
        return self.__service(url, params)
    def get(self,url):
        return self.__service(url)
    def __service(self,url,params=None,timeout=50):
        old_timeout = socket.getdefaulttimeout()
        socket.setdefaulttimeout( timeout )
        try:
            #POST
            if params:
                self.logger.debug('post %s params[%s]'%(url,params))
                request = urllib2.Request( url, urllib.urlencode(params) )
            #GET
            else:
                self.logger.debug('get %s params[%s]'%(url,params))
                request = urllib2.Request( url )
            request.add_header( 'Accept-Language', 'zh-cn' )
            response = urllib2.urlopen( request )
            content = response.read()
            response.close()
            self.logger.debug('content->%s,code->%d'%(content,response.code))
            if response.code==200:
                return content,True
            return content,False
        except Exception,ex:
            return str(ex),False
        finally:
            socket.setdefaulttimeout( old_timeout )

  

posted @ 2013-10-10 10:09  taotaowill  阅读(425)  评论(0编辑  收藏  举报