2、python自動化營運——業務監控詳解

來源:互聯網
上載者:User

標籤:python自動化營運

寄送電子郵件模組(smtplib)

大概思路:執行個體化SMTP對象,串連smtp伺服器以及開放的連接埠,調用starttls()方法建立安全連結,登入賬戶和授權碼,發送郵件,最後退出

指令碼樣本:

#!/usr/bin/python

import smtplib

import string

 

host="smtp.qq.com"

subject="Test email from Python"

to="[email protected]"

send="[email protected]"

text='Python rules them all!'

body = "\r\n".join((

      "From:   %s" % send,

      "To:   %s" % to,

      "Subject:   %s" % subject,

      "",

      text

      ))

server=smtplib.SMTP()

server.connect(host,"587")

server.starttls()

server.login("[email protected]","lgjahba")

server.sendmail(send,to,body)

server.quit()

 

探測Web服務品質(pycurl)

思路:匯入pycurl模組,執行個體化CURL對象,設定測試屬性,擷取測試結果

#!/usr/bin/python

import pycurl

import time

import sys

import os,sys

 

url=input("Enter the url you want to query:\n   ")

c=pycurl.Curl()

c.setopt(pycurl.URL,url)

c.setopt(pycurl.CONNECTTIMEOUT,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資訊的時間為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 as e:

      print("Connection   error:",str(e))

      indexfile.close()

      c.close()

      sys.exit()

 

dns_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_downland=c.getinfo(c.SIZE_DOWNLOAD) #擷取下載包大小

head_size=c.getinfo(c.HEADER_SIZE) #擷取http頭部大小

speed_downland=c.getinfo(c.SPEED_DOWNLOAD) # 擷取平均下載速度

 

print("HTTP狀態代碼:%s" % (http_code) )

print("DNS解析時間:%.2f" % (dns_time))

print("建立連線時間:%.2f" % (connect_time))

print("準備傳輸時間:%.2f:" % (pretransfer_time))

print("傳輸開始時間:%.2f:" % (starttransfer_time))

print("傳輸結束總時間:%.2f" % (total_time))

print("下載資料包大小:%d byte" % size_downland)

print("HTTP頭部大小:%d byte" % head_size)

print("平均下載速度:%d bytes/s" % speed_downland)

indexfile.close()

c.close()

 

 

 

 

 


2、python自動化營運——業務監控詳解

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.