12345678910111213141516171819202122232425262728293031323334353637383940 |
- import pycurl
- from io import BytesIO
- class ex_response(object):
- def __init__(self,url):
- self.buffer = BytesIO()
- self.c = pycurl.Curl()
- self.c.setopt(pycurl.URL,url)
- self.c.setopt(pycurl.WRITEDATA, self.buffer)
- self.c.setopt(pycurl.WRITEHEADER,self.buffer)
- try:
- self.c.perform()
- except Exception as e:
- print('connection error:' + str(e))
- self.buffer.close()
- self.c.close()
- def getinfo(self):
- http_code = self.c.getinfo(pycurl.HTTP_CODE) # 状态码
- total_time = self.c.getinfo(pycurl.TOTAL_TIME) # 传输结束总消耗时间
- dns_time = self.c.getinfo(pycurl.NAMELOOKUP_TIME) # DNS解析时间
- connect_time = self.c.getinfo(pycurl.CONNECT_TIME) # 建立连接时间
- pretransfer_time = self.c.getinfo(pycurl.PRETRANSFER_TIME) # 建立连接到准备传输消耗时间
- first_byte_time = self.c.getinfo(pycurl.STARTTRANSFER_TIME) # 从建立连接到传输开始消耗时间
- info = {"http_code": http_code,
- "total_time": total_time,
- "dns_time": dns_time,
- "connect_time": connect_time,
- "pretransfer_time": pretransfer_time,
- "first_byte_time":first_byte_time
- }
- return info
- self.buffer.close()
- self.c.close()
- if __name__ == '__main__':
- curl_respon = ex_response("https://longvideoh5.piaoquantv.com/core/share?shareSource=customerMessage&fromAppType=0&qrAppType=0&versionCode=321&shareUid=12463024&shareMachineCode=weixin_openid_o0w175fPwp8yrtOGihYJhvnT9Ag4&h5WxrootPageSource=vlog-pages___category&videoId=2689415&isRecommendShare=1&h5ShareId=backend493cd67dd28f4ee395781d59881567211625976055926&shareDepth=0&state=#")
- http_code, total_time, dns_time, connect_time, pretransfer_time, first_byte_time = curl_respon.getinfo()
- print(http_code, total_time*1000, dns_time*1000, connect_time*1000, pretransfer_time*1000, first_byte_time*1000)
|