python pycurl模块 运维自动化

pycurl模块

#!/usr/bin/env python

# -*- coding:utf-8 -*-

import os,sys

import time

import sys

import pycurl

URL="http://www.yitongjia.com"

c = pycurl.Curl()

c.setopt(pycurl.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)

c.setopt(pycurl.DNS_CACHE_TIMEOUT,30)

indexfile = open(os.path.dirname(os.path.realpath(__file__))+"/content.txt

","wb")

c.setopt(pycurl.WRITEHEADER,indexfile)

c.setopt(pycurl.WRITEDATA,indexfile)

try:

c.perform()

except Exception,e:

print "connecion error:" + str(e)

indexfile.close()

c.close()

sys.exit()

NAMELOOKUP_TIME = c.getinfo(c.NAMELOOKUP_TIME)

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(pycurl.HTTP_CODE)

SIZE_DOWNLOAD = c.getinfo(c.SIZE_DOWNLOAD)

HEADER_SIZE = c.getinfo(c.HEADER_SIZE)

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 "传输开始时间:%.2f ms" % (STARTTRANSFER_TIME*1000)

print "传输结束总时间:%.2f ms" % (TOTAL_TIME*1000)

print "下载数据包大小:%d bytes/s" % (SIZE_DOWNLOAD)

print "HTTP头部大小:%d byte" % (SPEED_DOWNLOAD)

print "平均下载速度:%d bytes/s" % (SPEED_DOWNLOAD)

indexfile.close()

c.close()

时间: 2024-07-30 23:19:35

python pycurl模块 运维自动化的相关文章

python smtplib模块 运维自动化

smtplib模块 smtplib.SMTP([host[, port[, local_hostname[, timeout]]]]) SMTP.connect([host[,port]])远程主机 SMTP.login(user.password)远程校验 SMTP.sendmail(from_addr,to_addrs,msg[,mail_options,rcpt_options])实现邮件的发送功能 SMTP.stattls([keyfile[,certfile]])启动TLS安全传输模式

python dnspython模块 运维自动化

Dnspython模块 1.模块域名解析方法 A记录,主机名转换成IP地址 MX记录,邮件交换记录,定义邮件服务器的域名 CNAME记录,别名记录,实现域名间的映射 NS记录,标记区域的域名服务器及授权子域 PTR记录,反向解析,与A记录相反,将IP转换成主机名 SOA记录,SOA标记,一个起始授权区的定义 2.常见解析类型示例说明 实现A记录的查询方法 import dns.resolver domain = raw_input('Please input an domain:') A = d

python IPy模块 运维自动化

IPy模块 1.区分IPV4.IPV6 IP('10.0.0.0/8').version() 通过指定的网段输出该网段的IP个数及所有IP地址清单 from IPy import IP ip = IP('192.168.0.0/16') ip.len() for x in ip: print x 反响解析名称.IP类型.IP转换 ip = IP('192.168.1.20') ip.reverseName() ip.iptype() IP('8.8.8.8').int() 网络地址的转换 pri

实战:基于Python构建运维自动化平台

导语: 今天与大家一起探讨如何基于Python构建一个可扩展的运维自动化平台,也希望能与大家一起交流,共同成长. 此次分享将通过介绍OMServer.OManager具备的功能.架构设计.模块定制.安全审计.C/S结构的实现等几个方面的内容来展开. 为什么选择Python? 默认安装且跨平台 可读性好且开发效率高 丰富的第三方库(开发框架.各类API.科学计算.GUI等) 社区活跃&众多开发者. Python在腾讯的现状,根据去年内部提交组件语言统计,除去2.3.4前端技术,Python在高级编

如何基于Python构建一个可扩展的运维自动化平台

嘉宾简介 刘天斯 从事互联网运维工作已13年,目前就职于腾讯-互动娱乐部,负责游戏大数据的运营,曾就职于天涯社区,担任首席架构师/系统管理员. 热衷开源技术的研究,包括系统架构.运维开发.负载均衡.缓存技术.数据库.NOSQL.分布式存储.消息中间件.大数据及云计算.Mesos.Docker.DevOps等领域.擅长大规模集群的运维工作,尤其在自动化运维方面有着非常丰富的经验.同时热衷于互联网前沿技术的研究,活跃在国内社区.业界技术大会,充当一名开源技术的传播与分享者. 导言 受 Reboot

运维自动化神器ansible之user模块

运维自动化神器ansible之user模块 一.概述 ?user模块 可管理远程主机上的 用户,比如创建用户.修改用户.删除用户.为用户创建密钥对等操作. 二.参数介绍 ? name: 用于指定操作的 user,必须项. uid: 用于指定 user 的 UID,默认为空. _non_unique:_ 与uid参数一起使用,允许改变UID为非唯一值. group: 参数用于指定用户 主组.默认值为空,为空时创建的用户组名跟用户名一致. groups: 参数用于指定用户属组,可以在创建用户时指定用

<zz>Ansible 运维自动化 ( 配置管理工具 )

from http://www.cnblogs.com/wangxiaoqiangs/p/5685239.html 简介: 当下有许多的运维自动化工具( 配置管理 ),例如:Ansible.SaltStack.Puppet.Fabric 等. Ansible 一种集成 IT 系统的配置管理.应用部署.执行特定任务的开源平台,是 AnsibleWorks 公司名下的项目,该公司由 Cobbler 及 Func 的作者于 2012 年创建成立. Ansible 基于 Python 语言实现,由 Pa

运维自动化之salt笔记

1:saltstack的基本介绍 2:salt的安装 1:服务端1:安装2:配置文件3:运行4:注意事项2:客户端1:安装2:配置文件3:运行4:注意事项 3:salt的使用: 1:基础知识1:targeting2:nodegroup3:grains4:pillar2:状态管理1:state1:state语法2:state的逻辑关系2:highstate3:salt schedule3:实时管理1:cmd.run2:module4:其他1:无master2:peer3:runner4:react

【有感而发】从中华武术谈运维工程师以及运维自动化

从中华武术谈运维工程师以及运维自动化 任何事物都没有完美一说,但是我们可以死磕自己,追求极致... 无论我们现在是搬砖呢,砌墙呢,还是在逗自己混日子,我们需要关注的是自己的方向在哪里,而不是过于在意自己当前的所站的位置,人生不能受限于自己的意识. 平时和小伙伴们聊人生谈理想的时候,我会经常和别人讲我所认为的专业化运维工程师和运维工作的方向,有认可的也有不认可的,认可的多在努力让自己的工作越来越轻松,自己的价值越来越能得到体现,不认可者多属于一天都很忙,而且认为运维就是帮开发人员打打杂,做大量重复