• 欢迎访问db1024网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏db1024吧

利用Python3脚本监控whmcs是否有货,并邮件或者微信提醒

主机教程 Liam 12个月前 (04-28) 300次浏览 0个评论 扫描二维码
文章目录[隐藏]

说明:一般很多商家都喜欢使用whmcs面板卖东西,特别是VPS主机商,有时候很多服务器都是只卖一会就没了,很容易错过自己喜欢的VPS,所以我们需要个监控,之前好像发过一个服务器库存监控教程,参考:PHP VPS库存监控系统搭建教程,不过经常要去看,有点不方便,这里再分享个VPS库存监控教程,可以邮箱或者微信提醒,很方便。

以下脚本需要Python3环境,一般大多数新系统都自带Python3,使用python -V命令可查看Python版本,CentOS升级教程参考:Linux CentOS升级Python 3.6版本方法

邮箱提醒

本脚本基于python3+sendmail实现,这里只说CentOS系统。注意邮件25端口得打开,可能有的主机商会直接屏蔽25端口,直接发工单要他开。

1、安装sendmail

yum install sendmail -y service sendmail start chkconfig sendmail on

2、下载并编辑脚本

wget https://www.moerats.com/usr/down/vpsyx.py

然后我们使用vi命令编辑,将脚本中的url里的网址换为其它whmcs即可实现监控其它网址,不会使用vi的,用FTP软件比如WinSCP登录VPS后操作。

#脚本代码如下 from sys import argv from urllib import request from os import system try:  flag=0  while True:     url='https://einstein.enoctus.co.uk/cart.php?a=add&pid='+argv[1]     header={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36'}     req=request.Request(url,headers=header)     page=request.urlopen(req).read()     with open('content.txt','w') as f:         f.write('有货了,链接是:'+url)     if str(page).find('out of stock')>0:         flag=0         print('无货')     else:         flag=flag+1         print('有货')         if flag<3:             system("mail -s '有货了' {0} < content.txt".format(argv[2]))  except:     print('脚本异常,退出')" 

3、使用
运行以下命令:

#pid为产品号,即链接最后面的数字 python vpsyx.py pid 邮箱 

微信提醒

本脚本基于python3+方糖实现微信推送。

1、下载脚本并编辑

wget https://www.moerats.com/usr/down/vpswx.py

然后我们使用vi命令编辑,将脚本中的url里的网址换为其它whmcs即可实现监控其它网址,修改pid为你想要监控的套餐pid,并修改sckey为你自己的方糖key。不会使用vi的,用FTP软件比如WinSCP登录VPS后操作。

不知道方糖的,去Server酱首页(https://sc.ftqq.com/),按照要求申请key

#脚本代码如下 from sys import argv from urllib import request,parse from os import system import datetime import time sckey="xxxxx"  #替换为你自己的方糖key pid=93  #替换为你想要监控的套餐pid  url='https://einstein.enoctus.co.uk/cart.php?a=add&pid=%s' % (pid)  #替换为监控的套餐地址 try:     flag=0     oktime=datetime.datetime.now()     oktime.strftime('%Y-%m-%d %H:%M:%S')     outoftime=datetime.datetime.now()     outoftime.strftime('%Y-%m-%d %H:%M:%S')     while True:         header={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36'}         req=request.Request(url,headers=header)         page=request.urlopen(req).read()         if str(page).find('out of stock')>0:             if flag>0:                 outoftime=datetime.datetime.now()                 outoftime.strftime('%Y-%m-%d %H:%M:%S')                 timeout='本轮次上货持续时间:%s' % (outoftime-oktime)                 print(timeout)                 tile='%s%s' % ('缺货提醒',timeout)                 textmod={'text':tile,'desp':url}                 textmod = parse.urlencode(textmod)                 urlsc='https://sc.ftqq.com/%s.send' % (sckey)                 req1=request.Request(url='%s%s%s' % (urlsc,'?',textmod),headers=header)                 page1=request.urlopen(req1).read()             flag=0             print('缺货,10秒后将再次检测')             time.sleep(10)         else:             if flag==0:                 oktime=datetime.datetime.now()                 oktime.strftime('%Y-%m-%d %H:%M:%S')                 timeok='本轮缺货持续时间:%s' % (oktime-outoftime)                 print(timeok)                 tile='%s%s' % ('上货提醒',timeok)                 textmod={'text':tile,'desp':url}                 textmod = parse.urlencode(textmod)                 urlsc='https://sc.ftqq.com/%s.send' % (sckey)                 req1=request.Request(url='%s%s%s' % (urlsc,'?',textmod),headers=header)                 page1=request.urlopen(req1).read()             flag=flag+1             print('有货')             if flag<3:                 tile='%s%s' % ('上货提醒',flag)                 textmod={'text':tile,'desp':url}                 textmod = parse.urlencode(textmod)                 urlsc='https://sc.ftqq.com/%s.send' % (sckey)                 req1=request.Request(url='%s%s%s' % (urlsc,'?',textmod),headers=header)                 page1=request.urlopen(req1).read() except:     print('脚本异常,退出') 

2、使用方法
运行以下命令:

python vpswx.py 

文章来源:https://eqblog.com/whmcs-python-hon.html
方糖提供:http://www.hostloc.com/thread-422378-1-1.html


db1024 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:利用Python3脚本监控whmcs是否有货,并邮件或者微信提醒
喜欢 (0)
关于作者:
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址