前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python3 通过 pycurl 检测

python3 通过 pycurl 检测

作者头像
py3study
发布2020-01-03 13:05:49
5610
发布2020-01-03 13:05:49
举报
文章被收录于专栏:python3python3

由于python3 对StringIO 集成到io 模块中了,所有python3 import StringIO 改成了 import io,pycurl.Curl() 初始化对象C ,其 属性WRITEFUNCTION 要求传递参数是byte,b.write 需要初始化成io.BytesIO()

#!/bin/env pyhon3 import pycurl import io

def check(urls): dict_data={} #if url not in errorurl: url = 'http://' + str(urls) dict_data['url']=url c = pycurl.Curl() c.setopt(pycurl.CONNECTTIMEOUT,5) c.setopt(pycurl.TIMEOUT,5) c.setopt(pycurl.NOPROGRESS,1) c.setopt(pycurl.FORBID_REUSE,1) c.setopt(pycurl.MAXREDIRS,3) c.setopt(pycurl.DNS_CACHE_TIMEOUT,30) c.setopt(c.URL, url) try: b = io.BytesIO() c.setopt(c.WRITEFUNCTION, b.write) c.perform() HTTP_CODE = c.getinfo(pycurl.HTTP_CODE) #HTTP状态码 dict_data['HTTP状态码'] = HTTP_CODE DNS_TIME = c.getinfo(c.NAMELOOKUP_TIME) 1000 #DNS消耗时间 dict_data['DNS消耗时间'] = DNS_TIME CONNECT_TIME = c.getinfo(c.CONNECT_TIME) 1000 #建连消耗时间 dict_data['建连消耗时间'] = CONNECT_TIME PRETRANSFER_TIME = c.getinfo(c.PRETRANSFER_TIME) 1000 #建连到准备传输消耗 dict_data['建连到准备传输消耗'] = PRETRANSFER_TIME STARTTRANSFER_TIME = c.getinfo(c.STARTTRANSFER_TIME) 1000 #建连到传输消耗 dict_data['建连到传输消耗'] = STARTTRANSFER_TIME TOTAL_TIME = c.getinfo(c.TOTAL_TIME) * 1000 #传输结束消耗时间 dict_data['传输结束消耗时间'] = TOTAL_TIME SPEED_DOWNLOAD = c.getinfo(c.SPEED_DOWNLOAD) #平均下载速度 dict_data['平均下载速度'] = SPEED_DOWNLOAD b.close() c.close() except pycurl.error: pass #errno, errstr = error #print 'An error occurred: ', errstr for var in dict_data.keys(): print(var,':',dict_data[var]) website=input('请输入检测站点域名:如www.baidu.com') check(website)

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/09/25 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
命令行工具
腾讯云命令行工具 TCCLI 是管理腾讯云资源的统一工具。使用腾讯云命令行工具,您可以快速调用腾讯云 API 来管理您的腾讯云资源。此外,您还可以基于腾讯云的命令行工具来做自动化和脚本处理,以更多样的方式进行组合和重用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档