HTTPResponse.read([amt]):只能read一次

业务需要:我要写个tanx模拟器,给DSP发竞价请求。

下面是部分代码:

  def PostDataToDSP(self,url,postdata):
         headers = {
              'Content-Type':'application/octet-stream',
              'Connection':'Keep-Alive',
         }
 
         payload = postdata.SerializeToString()
 
         conn = httplib.HTTPConnection(url)
         conn.request(method='POST',url='/bid',body = payload, headers = headers)
         response = conn.getresponse()
 
         print response.status
 
         if 200 == response.status:
             print response.read()
             print 'send successfully'
         else:
             print 'send failed'

         conn.close()
         return response.read()

这个代码是错误的,刚接触互联网行业,一堆不懂。

老大指点说:只能read一次。

 

代码修改后:

  def PostDataToDSP(self,url,postdata):
         headers = {
              'Content-Type':'application/octet-stream',
              'Connection':'Keep-Alive',
         }
 
         payload = postdata.SerializeToString()
 
         conn = httplib.HTTPConnection(url)
         conn.request(method='POST',url='/bid',body = payload, headers = headers)
         response = conn.getresponse()
 
         print response.status
 
         if 200 == response.status:
             res = response.read()
             print 'send successfully'
         else:
             print 'send failed'

         conn.close()
         return res

 

posted @ 2014-11-04 20:39  开开甲  阅读(1703)  评论(0编辑  收藏  举报