python实现zabbix发送短信脚本

yipeiwu_com6年前Python基础

本文实例为大家分享了zabbix发送短信的具体代码,供大家参考,具体内容如下

使用方法

./sendSMS.py PHONE_NUMBER args_2 SMS_MSG

接收参数输入

参数一: 接收手机号(zabbix传来的第1个参数,报警接收手机号),第一个参数可以对比发送邮件的脚本
参数二: 短信主题(zabbix传来的第2个参数,报警主题),在命令行测试必须输入,用来占位,脚本中并不获取这个参数
参数三: 短信内容(zabbix传来的第3个参数,报警内容)

手动调试方法

python sendSMS.py *********** argv2 "报警测试"

关于命令行测试的另外一种方式

使用shell自带的curl来测试

GET

复制代码 代码如下:
curl http://HOST/path/to/path/webapi/sendSMS/?phone=18101111253&smsText='SMS test'

POST

复制代码 代码如下:
curl -d phone=18101111253 -d smsText='SMS test' http://HOST/path/to/path/webapi/sendSMS

代码

#!/usr/bin/env python
#-*- coding: utf8 -*-

import sys
import requests

def sendsms(key, phone, message):
 """
 发送短信
 """
 values = {'Key': key,
  'smsMob': phone,
  'smsText': message
  }

 host = '192.168.0.07'
 post_url = 'http://' + host + '/path/to/path/webapi/sendSMS'
 try:
 req= requests.post(url=post_url, data=values)
 print req.content
 except Exception, e:
 print e

if __name__ == '__main__':
 key = '712ab57ec021f8f05f862652c95f3344'
 phone = sys.argv[1]
 # subject = sys.argv[2]
 message = sys.argv[3]

 sendsms(key, phone, message)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

详解Django缓存处理中Vary头部的使用

Vary 头部定义了缓存机制在构建其缓存键值时应当将哪个请求头标考虑在内。 例如,如果网页的内容取决于用户的语言偏好,该页面被称为根据语言而不同。 缺省情况下,Django 的缓存系统使...

python matplotlib拟合直线的实现

python matplotlib拟合直线的实现

这篇文章主要介绍了python matplotlib拟合直线的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 代码如下 imp...

Python面向对象编程基础解析(二)

Python最近挺火呀,比鹿晗薛之谦还要火,当然是在程序员之间。下面我们看看有关Python的相关内容。 上一篇文章我们已经介绍了部分Python面向对象编程基础的知识,大家可以参阅:P...

在Django的通用视图中处理Context的方法

制作友好的模板Context 你也许已经注意到范例中的出版商列表模板在变量 object_list 里保存所有的书籍。这个方法工作的很好,只是对编写模板的人不太友好。 他们必须知道这里正...

python中virtualenvwrapper安装与使用

virtualenv与virtualenvwrapper 当涉及到python项目开发时为了不污染全局环境,通常都会使用环境隔离管理工具virtualenv与virtualenvwra...