`
agapple
  • 浏览: 1595457 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

fetion发送短信介绍(比如天气预报)

阅读更多

背景

  最近自从论坛上出现了利用139手机邮箱建立股票短信查询系统,陆续有几个人咨询我相关fetion api使用,所以这里做一下记录,分享一下给大家。

 

使用介绍

 

 我使用fetion,没啥特别的技术含量,直接利用了三方的api包,也没干啥高级的事情,只是进行短信发送。

  1. 比如每天发送一下天气预报,黄金/白银价格发送给我女朋友。哄哄女生还是挺不错的哦
  2. 我自己利用fetion api主要是用于开发服务器监控,手里有近15台的服务器,时不时会发生一些事情,比如内存不足,硬盘不够了等,通过shell脚本检查+fetion短信发送,完成短信报警监控,这样一下子就轻松了。
  3. 基于fetion api基础上,包装了一个web服务,这样可以通过浏览器方式发送短信,比如部门活动,就可以群发部门同事短信

    ps : 可以干的事情很多,只有你足够的有才,特别适合骗一下纯情的小女生,哈哈

正题

1.  下载fetion lib库(我使用的是ubuntu 32位的系统,所以后续都是介绍linux系统相关,如使用windows请直接访问http://www.it-adv.net/)

 

下载公用lib库: http://www.it-adv.net/fetion/linuxso_20101113.rar 

下载fetion主程序: http://bbs.it-adv.net/attachment.php?aid=43&k=a8c8d4609367ded2ae24721b4246802a&t=1289908191

 

 

2. 环境配置

$ mkdir  fetion
$ cp -r linuxso_20101113  fetion/lib/
$ cp /tmp/fetion  fetion/

创建fetion目录,包含主程序和lib库

3.  设置启动脚本

$ touch fetion.sh
$ vi fetion.sh

# fetion.sh脚本内容
#!/bin/sh

if [ $# -eq 0 ] ; then
  cat << EOF >&2
Usage: $0 mobile passwd to msgcontent
EOF
  exit 1
fi

FETION_MOBILE=$1
FETION_PWD=$2
FETION_TO=$3
MSG="$4"
BASE=`dirname $0`

export LD_LIBRARY_PATH=$BASE/lib:$LD_LIBRARY_PATH
$BASE/fetion --mobile=$FETION_MOBILE --pwd=$FETION_PWD --to=$FETION_TO --msg-utf8="$MSG" --msg-type=1 --exit-on-verifycode 

其余的参数可见:

Usage:
    --mobile=[mobile]
    --sid=[sid]
    --pwd=[pwd]
    --config=[config file] *format:index mobile password
    --index=[index no in config file,refer to sample.conf]

    --debug  *debug mode on
    --hide  *login fetion in hidden state
    --to=[mobile/sid]
    --command-path=[command file path]
    --robotmode
    --daemon(linux only)
    --proxy-ip(http proxy ip)
    --proxy-port(http proxy port)
    --msg-gb=[gb2312/gbk message]
    --msg-utf8=[utf8 message]
    --msg-type=[0/1/2 sms longsms smartmsg]
    --file-gb=[gb2312/gbk file]
    --file-utf8=[utf8 file]
    --query-cmcc-no
    --auto-retry
    --exit-on-verifycode
    --t3key=[http://www.tui3.com/page/smssend/]

 

fetion.sh 脚本作用(推荐)

   运行时指定lib库,选择默认的登录方式为手机号码(sid那串不是人记的),--msg-type指定使用longsms,字符集使用utf-8。说白了就是封装一下fetion,自己使用起来更加方便而已。

 当然你也可以不行,每次你就手工敲:

export LD_LIBRARY_PATH=./lib:$LD_LIBRARY_PATH

 

或者在系统级别添加lib库,需要root权限,不推荐:

$ vi /etc/ld.so.conf

# 末尾添加一行记录
/usr/local/fetion/lib,然后把对应下载的lib库拷过去

 

4. 运行测试一下


 

注意:

1. 使用复杂的密码(数字+字母+符号),将不会弹出图形验证码。
2. 第一次使用机器人时,即使是复杂密码,也可能会弹出图形验证码,以后将不再提示。

 

所以密码还是搞的稍微复杂点吧。

 

5.  其他应用 

天气预报:

使用了一个html2text的库,可以下载:wget http://archive.ubuntu.com/ubuntu/pool/main/h/html2text/html2text_1.3.2a.orig.tar.gz

#!/bin/sh

# 1. set path
BASE_DIR=/home/admin/ljh/weather
HTML2TEXT_DIR=/home/admin/ljh/html2text-1.3.2a

# 3. get weather from internet
wget -nv -O $BASE_DIR/weather.html http://wap.weather.com.cn/wap/weather/101210101.shtml > $BASE_DIR/log 2>&1

# 4. format
echo "" > $BASE_DIR/msg
cat $BASE_DIR/weather.html | $HTML2TEXT_DIR/html2text | grep -A 6 '日' | sed 's/\[.*//g' | sed 's/.*]$//g' | sed 's/ //g' | grep -v '^$' | head -n 6 > $BASEE
_DIR/msg

# 5. send sms
echo `date` > $BASE_DIR/log
sh $BASE_DIR/fetion.sh "`cat $BASE_DIR/msg`" >> $BASE_DIR/log 2>&1

# 6. clear env
rm -r $BASE_DIR/weather.html
#rm -r $BASE_DIR/msg

说明:调用的是http://wap.weather.com.cn 的页面,大家可以选择对应的城市url,进行天气预报发送处理。

 

黄金/白银 价格短信

#!/bin/sh

# 1. set path
BASE_DIR=/home/admin/ljh/zhj

# 3. get weather from internet
wget -nv -O $BASE_DIR/gold.txt http://quote.zhijinwang.cn/xml/gold.txt?$RANDOM > $BASE_DIR/log 2>&1
wget -nv -O $BASE_DIR/ag.txt http://quote.zhijinwang.cn/xml/ag.txt?$RANDOM > $BASE_DIR/log 2>&1

# 4. format
echo "" > $BASE_DIR/msg

TIME=`cat $BASE_DIR/gold.txt | awk -F'&' '{print $1}' | awk -F'=' '{printf "更新时间:%s",$2}'`
ZHJ_MAI_PRICE=`cat $BASE_DIR/gold.txt | awk -F'&' '{print $2}' | awk -F'|' '{printf "买入价:%.2f",$3}'`
ZHJ_MAI_CHU_PRICE=`cat $BASE_DIR/gold.txt | awk -F'&' '{print $2}' | awk -F'|' '{printf "卖出价:%.2f",$4}'`
ZHJ_MAX_PRICE=`cat $BASE_DIR/gold.txt | awk -F'&' '{print $2}' | awk -F'|' '{printf "最高价:%.2f",$5}'`
ZHJ_MIN_PRICE=`cat $BASE_DIR/gold.txt | awk -F'&' '{print $2}' | awk -F'|' '{printf "最低价:%.2f",$6}'`

AG_MAI_PRICE=`cat $BASE_DIR/ag.txt | awk -F'&' '{print $2}' | awk -F'|' '{printf "%.2f",$3}'`
AG_MAI_CHU_PRICE=`cat $BASE_DIR/ag.txt | awk -F'&' '{print $2}' | awk -F'|' '{printf "%.2f",$4}'`
AG_MAX_PRICE=`cat $BASE_DIR/ag.txt | awk -F'&' '{print $2}' | awk -F'|' '{printf "%.2f",$5}'`
AG_MIN_PRICE=`cat $BASE_DIR/ag.txt | awk -F'&' '{print $2}' | awk -F'|' '{printf "%.2f",$6}'`

echo "$TIME\n$ZHJ_MAI_PRICE,$AG_MAI_PRICE\n$ZHJ_MAI_CHU_PRICE,$AG_MAI_CHU_PRICE\n$ZHJ_MAX_PRICE,$AG_MAX_PRICE\n$ZHJ_MIN_PRICE,$AG_MIN_PRICE" > $BASE_DIR/msg

# 5. send sms
echo `date` > $BASE_DIR/log
sh $BASE_DIR/fetion.sh "`cat $BASE_DIR/msg`" >> $BASE_DIR/log 2>&1

# 6. clear env
rm -r $BASE_DIR/gold.txt
rm -rf $BASE_DIR/ag.txt
#rm -r $BASE_DIR/msg

 

说明:调用的是www.zhijinwang.cn的几个url,shell分析完数据后进行短信发送,然后设置一个crontab,定时发送一下。

 

做了个web页面:

 

tips : 给部门做了一个短信发送页面,写定具体的mobile列表,同时由部门贡献一个飞信号码,哈哈

 

服务器监控

 1. 使用的nagios监控脚本+fetion短信报警

 

其中一个例子,比如机器load监控

$ touch monitor.sh 

#!/bin/sh
function check_load(){
        warn=$1
        critical=$2
        result=`$BASE/monitor/check_load  -w $warn,$warn,$warn -c $critical,$critical,$critical`
        echo $result
}

function analysis() {
        content=$1
        if [ "$content" = "" ] ; then
                continue
        fi
        match=`echo $content | grep -oP '(OK|WARNING|CRITICAL)'`
        case "$match" in
                OK )
                        ;;
                WARNING )
                        sendsms "$content" ##短信发送
                        ;;
                CRITICAL )
                        sendsms "$content" ##短信发送
                        ;;
        esac
        echo "`date`:$content"
}

function sendsms() {
        local msg=$1
        $BASE/fetion.sh $FETION_MOBILE $FETION_PWD $FETION_TO "$msg"
}

function start(){
        method=$1
        if [ "$method" = "" ] ; then
                echo "you should input monitor method:"
        fi
        result=`$*` ##调用具体的监控方法获取返回值
        analysis "`hostname`:$result"
}

start $*  ##执行入口

 

说明:

*  $BASE/monitor/check_load  这个是从nagions监控中拷贝出来的脚本

*  最后的运行也是通过crontab进行调度控制 

*/5 * * * * monitor.sh check_load 8 16 1>>/tmp/monitor.log 2>&1


 其他的check_memory,check_tcp_status,check_disk等等,就大家去发挥吧

最后

  1. 其实可以做的事情还有很多,大家充分发挥一下自己的想象力吧
  2. 目前fetion能解决短信发送的问题,大家结合一下那 139邮箱的例子,就可以解决一个接受短信问题,接受短信指令后做相应的处理,发展情景无限哈。

不过现在的http://www.it-adv.net/更新速度还是蛮快的,这也可以省去我自己分析协议更新不够勤快的烦恼。

  • 大小: 215.9 KB
  • 大小: 29.8 KB
  • 大小: 26.4 KB
3
0
分享到:
评论
1 楼 邢邢色色 2014-06-30  
该网站已挂..

相关推荐

    FetionService 通过FETION实现定时发送天气预报的功能

    【FetionService:通过FETION实现定时发送天气预报的功能】 FetionService 是一个专为使用FETION(飞信)服务设计的应用程序,它具有定时发送天气预报的功能。这一特性使得用户无需手动操作,就能在指定的时间自动...

    fetion服务端(windows\linux)、PHP短信发送模块

    【标题】"fetion服务端(windows\linux)、PHP短信发送模块"涉及的主要知识点包括Fetion服务端的跨平台实现、PHP编程语言在短信发送中的应用以及数据字典的作用与构建。以下是对这些核心内容的详细阐述。 1. **...

    飞信(Fetion)短信发送接口API

    飞信(Fetion)短信发送接口API是一个用于在无需打开飞信客户端的情况下,通过编程方式向飞信联系人发送短信的技术。FetionLite是一个轻量级的飞信客户端软件,它的主要功能就是实现这一服务,使得开发者可以通过...

    免费天气预报发送工具

    标题中的“免费天气预报发送工具”指的是一个软件或服务,其主要功能是为用户提供自动获取并发送天气预报信息的功能。这种工具通常可以帮助用户方便地了解各地的天气状况,并且能够定时将天气信息发送到用户的手机...

    zabbix使用fetion短信告警.docx

    本文将详细介绍如何在Zabbix中配置Fetion(飞信)作为短信告警媒介,确保在系统出现问题时,运维人员能够第一时间收到通知。 首先,我们需要在服务器上进行基础环境的设置。在`/root/bin`目录下创建所需的文件结构...

    利用飞信机器人发送短信

    飞信是中国移动推出的一款即时通讯软件,它允许用户通过网络免费发送短信到手机,同时也支持电脑与电脑之间的即时聊天。在“利用飞信机器人发送短信”这个主题中,我们将探讨如何借助编程技术创建一个自动发送飞信的...

    用JAVA发送短信,利用飞信的API来发送

    在Java编程环境中,发送短信是一项常见的任务,尤其在企业级应用和服务中,如通知系统、验证码验证等。本文将深入探讨如何使用飞信(Fetion)的API来实现这一功能。飞信是中国移动推出的一款即时通讯软件,它提供了...

    web免费发送短信到指定的手机的代码【接口,源代码】

    在IT行业中,有时候我们需要通过程序自动化地向指定的手机号码发送短信,比如系统通知、验证信息等。"web免费发送短信到指定的手机的代码"就是解决此类需求的一个方案,它利用了飞信开放的API接口。飞信是中国移动...

    fetion.rar_fetion_visual c

    【标题】"fetion.rar_fetion_visual c" 涉及的IT知识点主要集中在飞信(Fetion)的客户端开发以及使用Visual C#编程语言实现通过Web URL发送短信的功能。 飞信是中国移动推出的一款即时通讯软件,允许用户通过网络...

    Fetion.rar_fetion_fetion 3_fetion java_fetion3

    飞信是中国移动推出的一款免费即时通讯软件,名为"Fetion",它允许用户通过手机或电脑进行文字、语音甚至视频的通信。在这个压缩包文件中,我们看到的是一个针对飞信3.0版本的修改版,名为"Fetion 3_fetion java_...

    PHP飞信(PHPFetion)发送类v1.2

    最新版本(v1.2): http://code.google.com/p/php-fetion/downloads/detail?name=phpfetion_v1.2.0.zip (飞信类文件名改为了PHPFetion.php,使用的时候也可以随时修改为你需要的名字,类名也可以修改) 所有版本:...

    php飞信每日自动天气预报 v1.0

    定时发送天气预报[可群发]php飞信每日自动天气预报优点1.不用购买独立空间/服务器,不用购买独立域名 直接申请sina_SAE空间即可2.所有代码开源.下载,修改配置后,上传直接可用.方便进行再开发3.如不想用sina_SAE也可以...

    模拟登录WAP飞信发送短信phpfetion v1.5.0.rar

    //接收人手机号、飞信内容 $fetion-&gt;send('13500001111', 'Hello Fetion1!'); $fetion-&gt;send('13500002222', 'Hello Fetion2!'); $fetion-&gt;send('13500003333', 'Hello Fetion3!'); $fetion-&gt;send('13500004444', '...

    飞信发送短信接口(PHP类)

    飞信发送短信接口(PHP类)是一种通过编程方式利用飞信...通过理解和正确使用`Fetion.class.php`中的类和方法,可以在PHP项目中轻松实现短信发送功能,特别是在需要批量或自动发送短信的场景下,这样的接口显得尤为实用。

    基于PHP的Fetion飞信发送类源码.zip

    6. **异步处理**:考虑到发送短信可能涉及网络延迟,类可能采用了异步处理,比如使用回调函数或Promise,以避免阻塞主线程。 7. **性能优化**:为了提高效率,可能使用缓存技术存储已发送的短信记录,避免重复发送...

    Fetion2008_3.1.0480短信 聊天 软件

    1. 免费短信:用户注册并绑定手机号后,可以通过Fetion2008向其他飞信用户发送免费短信,无需支付额外费用。 2. 批量发送:支持一次性向多个联系人发送短信,方便群发通知或祝福。 3. 短信记录:软件会自动保存发送...

    linux版fetion_for x64

    Linux版的"Fetion_for_x64"是一款专为64位Linux操作系统设计的飞信客户端,它允许用户在Linux环境下发送短信至手机。飞信,全称中国移动飞信,是中国移动推出的一种融合语音(IVR)、短信、GPRS等多种通信方式的即时...

    java飞信接口,FetionApi,可自己通过程序发送免费短信

    里面一个完整的发短信eclipse工程,直接导入就可以了~~~ 飞信的API在lib里面fetion-java-api.jar~~ 还说明一点,飞信大家都知道,免费的前提是自己开通飞信并且只能发送给飞信好友,所以别抱怨说还要密码什么的! ...

    php_fetion_api_2.2.zip_2012php fetion api_php_fetion_api_短信

    【PHP飞信API 2.2】是一款基于PHP语言开发的短信发送程序,它利用HTTP协议和URL方式来实现免费发送短信的功能。这个API小程序在2012年发布,旨在帮助开发者集成短信服务到他们的PHP项目中,提高与用户沟通的效率。 ...

    php飞信每日自动天气预报

    4.定时发送天气预报[可群发] 版本更新:http://xiaogg.ctdisk.com/u/349707/437278 官方主页:http://3.ibtf.sinaapp.com/ 新浪SAE免费php空间申请地址:http://sae.sina.com.cn/activity/invite/101149/weibo 新浪SAE...

Global site tag (gtag.js) - Google Analytics