当前位置: 首页 > 编程日记 > 正文

Python 自动化运维 pycurl

1.探测web服务质量(HTTP状态码,请求延时,HTTP头信息,下载速度等)

web服务质量:1.服务可用性

2.服务响应速度

2.实例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
import os,sys  
import pycurl
import time
URL = "http://www.baidu.com"  ##目录的URL
= pycurl.Curl()     ##实例化
c.setopt(pycurl.URL,URL)     ##定义请求的URL常量
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, 1)     ##指定HTTP重定向的最大数为1
c.setopt(pycurl.DNS_CACHE_TIMEOUT,30)   ##设置保存DNS信息的时间为30S
indexfile  = open(os.path.dirname(os.path.realpath(__file__))+"/content.txt","wb")
c.setopt(pycurl.WRITEHEADER, indexfile)  ##将返回的HTTP HEADER定向到indexfile
c.setopt(pycurl.WRITEDATA, indexfile)    ##将返回的HTML内容定向到indexfile文件对象
try:
    c.perform() ##提交请求
except Exception,e:
    print "error"
    indexfile.close()
    sys.exit()
NAMELOOKUP_TIME = c.getinfo(c.NAMELOOKUP_TIME)  ##获取DNS解析时间
CONNECT_TIME = c.getinfo(c.CONNECT_TIME)   ##获取建立连接时间
PRETRANSFER_TIME = c.getinfo(c.PRETRANSFER_TIME)   ##获取从建立连接到准备传输需要时间
STARTTRANSFER_TIME = c.getinfo(c.STARTTRANSFER_TIME)##获取从建立连接到传输开始需要时间
TOTAL_TIME = c.getinfo(c.TOTAL_TIME)  ##获取传输的总时间
HTTP_CODE = c.getinfo(c.HTTP_CODE)   ##获取HTTP状态码
SIZE_DOWNLOAD = c.getinfo(c.SIZE_DOWNLOAD)  ##获取下载数据包大小
HEADER_SIZE = c.getinfo(c.HEADER_SIZE)   ##获取HTTP头部大小
SPEED_DOWNLOAD = c.getinfo(c.SPEED_DOWNLOAD)  ##获取平均下载速度
print "http状态码:%s " %HTTP_CODE
print "dns解析时间:%.2f ms" %(NAMELOOKUP_TIME*1000)
print "建立连接时间:%.2f ms" %(CONNECT_TIME*1000)
print "准备传输时间:%.2f ms" %(PRETRANSFER_TIME*1000)
print "传输开始时间: %2.f ms" %(STARTTRANSFER_TIME*1000)
print "传输结束总时间: %.2f ms" %(TOTAL_TIME*1000)
print "下载数据包大小: %d bytes/s" %(SIZE_DOWNLOAD)
print "HTTP头部大小: %d byte" %(HEADER_SIZE)
print "平均下载速度:%d bytes/s"%(SPEED_DOWNLOAD)
indexfile.close() ##关闭文件
c.close()  ##关闭Curl对象


测试

wKioL1nd-hnRdwd4AAB7f2BkHTM734.png

本文转自  red777    51CTO博客,原文链接:http://blog.51cto.com/12314711/1971518


相关文章:

Squid3反向代理安装与配置

一、编译安装 下载 #wget http://www.squid-cache.org/Versions/v3/3.0/squid-3.0.STABLE25.tar.gz //找到地址#tar zxvf squid-3.0.STABLE25.tar.gz //稳定版#cd squid-3.0.STABLE25 #./configure --prefix/usr/local/squid / //必须 //以下几步可选 --enable-arp-ac…

ServiceStack OrmLite 数据库查询 几个实用方法 (继承表格式化集合等)

执行SQL语句&#xff1a;int result db.SqlScalar<int>("SELECT OBJECT_ID(name)", new { name "SomeName" });继承表的实现 &#xff08;存储于同一个表中&#xff09;[Alias("Table")] public abstract class MyBaseClass {public…

Deepsort + Yolo 实现行人检测和轨迹追踪

作者 | 李秋键 出品 | AI科技大本营(ID:rgznai100) 引言 行人检测是近年来计算机视觉领域的研究热点&#xff0c;同时也是目标检测领域中的难点。其目的是识别和定位图像中存在的行人&#xff0c;在许多领域中都有广泛的应用。交通安全方面&#xff0c;无人驾驶汽车通过提前…

推荐15个国外使用 CSS3 制作的漂亮网站

今天分享的作品集网站有些特别&#xff0c;因为他们都是使用 CSS3 技术制作的。对于设计师来说&#xff0c;为了吸引注意力&#xff0c;作品集必须展示出你的能力&#xff0c;这有点像制作简历&#xff0c;要让人们看到你所擅长的&#xff0c;突出的部分&#xff0c;这是一次推…

7_2判断两个单链表是否相交,若相交,求出第一个交点

转载请注明出处&#xff1a;http://www.cnblogs.com/wuzetiandaren/p/4251372.html 声明&#xff1a;现大部分文章为寻找问题时在网上相互转载&#xff0c;此博是为自己做个记录记录&#xff0c;方便自己也方便有类似问题的朋友&#xff0c;本文的思想也许有所借鉴&#xff0c;…

对抗软件系统复杂性①:如无必要,勿增实体

作者 | 袁进辉 我们经常面临如何评价一个大型软件系统质量的问题。首要的评价指标肯定是功能&#xff0c;软件是否满足主要的需求(do right things)。如果有多条技术路径可以实现同样的功能&#xff0c;人们倾向于选择更简单的办法。奥卡姆剃刀准则“如无必要&#xff0c;勿增实…

修改squid的Header中的X-Cache为Powered-By-LinuxTone

今天分析别人网站的时候&#xff0c;注意到国内的chinacache服务商的CDN加速&#xff0c;把squid默认的X-Cache修改为Powered-By-ChinaCache&#xff0c;如下图&#xff1a;以前注意了但是没去研究过&#xff0c;今天刚好有点空挡自己就来研究看看。我的squid版本&#xff1a;s…

NginxApachePHP参数汇总

1、Nginx vim /etc/nginx/conf.d/www.cmdschool.org.conf 12345678910111213client_max_body_size 30m; //上传文件大小改30M upstream www.cmdschool.org { server 10.168.82.25:87; ip_hash; } server { listen 80; server_name www.cmdschool.org; location / { proxy_pass …

android Intent PendingIntent的区别

含义&#xff1a;intent英文意思是意图&#xff0c;pending表示即将发生或来临的事情。 PendingIntent这个类用于处理即将发生的事情。比如在通知Notification中用于跳转页面&#xff0c;但不是马上跳转。 Intent 是及时启动&#xff0c;intent 随所在的activity 消失而消失。…

Squid如何提高命中率

缓存命中1.缓存时间设置&#xff0c;顾名思义&#xff0c;缓存时间设置的越长那么命中率也会相对较高。缓存与更新是一对矛盾的概念&#xff0c;既要做到高命中又要做到快速更新这个就需要自己对自己网站内容的了解然后指定合适的缓存策略。2.缓存能缓存的内容&#xff0c;什么…

海量秋招面试资料等你来拿!你离大厂也许并不远

秋招在即&#xff0c;你还在为秋招如何准备而发愁吗&#xff1f;你还在为拿不到大厂offer而苦恼吗&#xff1f;工欲善其事&#xff0c;必先利其器。金秋开学季&#xff0c;CSDN助力你的技术学习与成长&#xff0c;为你免费提供海量大厂面试资料&#xff0c;让你的秋招不再慌乱&…

Microsoft Dynamics CRM server 2013 中业务规则,有点像C#的正则表达式

Microsoft Dynamics CRM server 2013 中业务规则&#xff0c;我的理解就是有点像C#的正则表达式&#xff0c; 如方某个字段&#xff0c;必须输入什么范围的数值&#xff0c;其它字符不能乱输入。 打开方式有二种&#xff1a; 1. 种像上篇文章中写的那样&#xff0c; 在系统视图…

cCodeforces Round #286 (Div. 2)

A题。。暴力枚举在每个位置添加字符&#xff0c;然后检查一下是不是回文串 1 #include <iostream>2 #include <cstdio>3 #include <cstring>4 #include <algorithm>5 #include <cmath>6 #include <vector>7 8 using namespace std;9 10 #…

Sarg安装配置使用

SARG的全称是&#xff1a;Squid Analysis Report GeneratorSARG作为一款Squid日志分析工具&#xff0c;它采用html格式&#xff0c;详细列出了每一位用户访问internet的站点信息&#xff0c;时间占用信息&#xff0c;排名&#xff0c;连接次数&#xff0c;访问量&#xff0c;访…

OpenAI 以 10 亿美元出售「灵魂」,网友热评不再「Open」

编译 | 禾木木 出品 | AI科技大本营&#xff08;ID:rgznai100&#xff09; OpenAI 如何以 10 亿美元的价格出售其灵魂&#xff1a;GPT-3 和 Codex 背后的公司并不像它声称的那样开放。 当金钱成为障碍时&#xff0c;最好的意图可能会被破坏。 近日&#xff0c;一篇“How Open…

IBM IMM默认ID 及修改默认IP 方法

默认ID&#xff1a; http://192.168.70.125 用户名:USERID 密码:PASSW0RD (数字0) BIOS 下更改IP方法&#xff1a;&#xff08;另一种可进IMM 进行修改&#xff0c;此处不再介绍&#xff09; 本文转自easy80851CTO博客&#xff0c;原文链接&#xff1a;http://blog.51cto.com/6…

squid 优化指南

很多squid 优化只限于在 squid参数和系统参数上面的调整。但是这个实在只是细枝末节的事情&#xff0c;只要不是太弱智的配置导致无法缓存&#xff0c;squid的性能不会有太大差距&#xff0c;也就提高10%左右&#xff0c;只有实际的业务针对squid 进行一些调整&#xff0c;squi…

Android TextView

2019独角兽企业重金招聘Python工程师标准>>> 1、TextView不用获取焦点也能实现跑马灯 public class MarqueeTextView extends TextView { Override protected void onFocusChanged(boolean focused, int direction, Rect previouslyFocusedRect) { if(focused) …

人脸识别模型的动手实践!

作者&#xff1a;宋志龙 来源&#xff1a;Datawhale人脸识别已经成为生活中越来越常见的技术&#xff0c;其中最关键的问题就是安全&#xff0c;而活体检测技术又是保证人脸识别安全性的一个重要手段&#xff0c;本文将向大家简单介绍活体检测&#xff0c;并动手完成一个活体检…

Pyqt5学习系列

最近在学习Pyqt5做界面&#xff0c;找到了一个非常棒的博主的学习系列 在此记录下来&#xff1a; http://blog.csdn.net/zhulove86/article/category/6381941

编程方式刷新Squid缓存服务器的五种方法

网站进行内容更新是常有的事情&#xff0c;当被缓存的资源更新时&#xff0c;前端Squid 缓存服务器内容也必须要相应的更新&#xff0c;否则用户就可能会看到过期的数据。当没有程序支持时就需要每次登录到服务器上执行刷新操作&#xff0c;在服务器数量小的的时候这种方式还可…

Android 实时文件夹

实时文件夹是一种用来显示由某个ContentProvider提供的数据信息的桌面组件。要创建一个实时文件夹&#xff0c;必须要有两个方面的支持。 1&#xff0c;要定义一个用来创建实时文件夹的Activity。 2&#xff0c;所指定数据信息URI的ContentProvider必须支持实时文件夹时文件夹查…

《新程序员002》图书正式上市! 从“新数据库时代”到“软件定义汽车”

20年前&#xff0c;伴随着互联网打开信息化大门&#xff0c;技术人成为新时代的开拓者。在时代的召唤下&#xff0c;CSDN于2001年推出国内首个面向IT人员的专业杂志——《程序员》&#xff0c;成为一代代开发者的技术启蒙。20年后的今天&#xff0c;人工智能、云计算、大数据等…

Xtrabackup bug记录

xtrabackup 2.1.2 2.1.3 均出现以下问题&#xff1a; 123xtrabackup: warning: Log block checksum mismatch (block no 191401143 at lsn 3946288081920):expected 800836998, calculated checksum 800832263xtrabackup: warning: this is possible when the log block has n…

RHEL5上配置VNCSERVER

VNC一个远程显示系统&#xff0c;管理员通过它不仅仅可以在运行程序的本地机上察看桌面环境&#xff0c;而且可以从 Internet上的任何地方察看远程机器的运行情况&#xff0c;而且它具有跨平台的特性。 Linux 要使用远程桌面需要安装VNC&#xff0c;Centos5,RHCE5 已经自带了VN…

勒索软件层出不穷,Veeam “3-2-1-1-0”助力构建数据防护

随着 AI、IoT、云原生等前沿技术的发展&#xff0c;近年来勒索病毒的攻击手段不断升级&#xff0c;赎金也越来越高&#xff1a;例如今年美国最大燃油管道受攻击导致美国17个州和华盛顿特区进入紧急状态&#xff0c;2020 年 Ripple20 0day 漏洞曝光&#xff0c;波及数亿台联网设…

大数据架构和模式(一)——大数据分类和架构简介

概述 大数据可通过许多方式来存储、获取、处理和分析。每个大数据来源都有不同的特征&#xff0c;包括数据的频率、量、速度、类型和真实性。处理并存储大数据时&#xff0c;会涉及到更多维度&#xff0c;比如治理、安全性和策略。选择一种架构并构建合适的大数据解决方案极具挑…

Windows 7 开发新特性

10月25日在西安举行的Windows 7 社区发布活动中我讲了Session1 -- Windows 7 概览。参会的人员达到62人&#xff0c;这个参加人数超过了我的预期,非常开心. 主要讲了一下内容: 一 构建于稳固的基础平台 1 . 改进的基础平台 兼容性: 兼容基于Windows Vista构建的应用程序与设备 …

GitHub 的 AI 编程工具漏洞高达 40% ,再次陷入争议……

整理 | 禾木木 出品 | AI科技大本营&#xff08;ID:rgznai100&#xff09; 在近日发表的一篇论文中&#xff0c;研究人员对 GitHub Copilot 人工智能编程辅助工具进行了深入调查。结果发现&#xff0c;仍处于测试预览阶段的 Copilot 具有高达 40% 的错误代码率&#xff0c;意味…

centos中mysql重置密码

1 . 用空密码方式使用root用户登录 MySQL&#xff1b; mysql -u root 2. 修改root用户的密码&#xff1b; mysql> update mysql.user set passwordPASSWORD(’新密码’) where User’root’; mysql> flush privileges; mysql> quit 3. 重新启动MySQL&#xff…