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

时间:2022-06-18 08:23:25

业务需要:我要写个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