潦草白纸

python httplib2应用get post

  1. import httplib2,time

  2. #装饰器方法,用于记录方法消耗时间
  3. #推荐将print 改成log
  4. def timer(func):
  5.     def _warpper(self,*argv):
  6.         start       = time.time()
  7.         result      = func(self,*argv)
  8.         cost        = time.time() - start
  9.         print 'The function %s coust time %f sec' % (func.func_name,cost)
  10.         return result
  11.     return _warpper

  12. class Spider(object):
  13.     """docstring for Spider"""
  14.     def __init__(self):
  15.         super(Spider, self).__init__()
  16.         self.h = httplib2.Http('.cache') 
  17.     
  18.     @timer
  19.     def httpGet(self,urlstr,word=""):

  20.         #httplib2.debuglevel = 1
  21.         urlstr = urlstr

  22.         self.head,self.content = self.h.request(urlstr)
  23.         #print(content)
  24.     
  25.     @timer
  26.     def httpPost(self,urlstr,data):
  27.         from urllib import urlencode
  28.       
  29.         self.head,self.content = self.h.request(urlstr, 'POST', urlencode(data), headers={'Content-Type': 'application/x-www-form-urlencoded'})

  30.     def getContent(self):
  31.         return self.content.decode('utf-8')

  32.     def getResponse(self):
  33.         return self.head

  34. #post传参数据
  35. data    = {'password':'s2105535','submit':'Login','username':'qq64397232'}
  36. spider = Spider()
  37. spider.httpPost('http:/12121212.com',data)


来自为知笔记(Wiz)

posted on 2015-07-05 18:41  潦草白纸  阅读(575)  评论(0编辑  收藏  举报

导航