小伙伴们,大家好,今天给大家分享一个从服务器推报警和日志到手机的工具。
如果你需要及时收到服务器的运行报告,如果你嫌装客户端端软件太麻烦。那么你可以试试这个,调用WEB API推送消息到你的微信;我想这可能会是一个不错的装逼姿势。
Server酱 是什么?
「Server酱」,英文名「ServerChan」,是一款「程序员」和「服务器」之间的通信软件。
说人话?
就是从服务器推报警和日志到手机的工具。
开通并使用上它,只需要一分钟:
- 登入:用GitHub账号登入网站,就能获得一个SCKEY(在「发送消息」页面);
- 绑定:点击「微信推送」,扫码关注同时即可完成绑定;
- 发消息:往 http://sc.ftqq.com/SCKEY.send 发GET请求,就可以在微信里收到消息啦
Server酱工作原理图
技术要求
- 需要有一个GitHub账号,没有可以注册一个。
- 需要有一个微信账号,没有可以注册一个。
- 需要关注一个公众号,没有可以关注一下。
- 需要会使用Get请求,任何语言。
操作流程
1. 进入官网,使用GitHub账号登录。开始绑定微信。就是使用微信扫描之后(会叫你关注一个公众号),然后在这个界面点击<检查结果并确认绑定>;
绑定成功之后是这样子的,下方会有你的git账号用户名。
2. 获取SendKey
3. 首先我们来测试一下能否发送成功
在这个在线发送工具下输入你想发送的数据。发送成功会在ermsg会提示success.
4. 打开微信看看效果
注意这个界面不要随便分享,因为这个链接里面就有你的SCKEY,如果你不想突然收到别人莫名其妙的消息,那还是自己看就好了。
发送消息的几种方式
1、只需要向以下URL发一个GET或者POST请求:
https://sc.ftqq.com/SCU60273T00b04f5c49ff126aaf1bc345eb74b6c55e70925377668.send
接收两个参数:
- text:消息标题,最长为256,必填。
- desp:消息内容,最长64Kb,可空,支持MarkDown。
2.最简单的消息发送方式是通过浏览器,在地址栏输入以下URL,回车后即可发送:
https://sc.ftqq.com/SCU60273T00b04f5c49ff126aaf1bc345eb74b6c55e70925377668.send?text=主人服务器又挂掉啦~
3.在PHP中,可以直接用file_get_contents来调用:
file_get_contents('https://sc.ftqq.com/SCU60273T00b04f5c49ff126aaf1bc345eb74b6c55e70925377668.send?text='.urlencode('主人服务器又挂掉啦~'));
也可以封装成一个函数:
function sc_send( $text , $desp = '' , $key = 'SCU60273T00b04f5c49ff126aaf1bc345eb74b6c55e70925377668' )
{
$postdata = http_build_query(
array(
'text' => $text,
'desp' => $desp
)
);
$opts = array('http' =>
array(
'method' => 'POST',
'header' => 'Content-type: application/x-www-form-urlencoded',
'content' => $postdata
)
);
$context = stream_context_create($opts);
return $result = file_get_contents('https://sc.ftqq.com/'.$key.'.send', false, $context);
}
Server酱 工作原理分析
- 首先你必须关注他的微信公众号;
- 你扫描之后绑定微信,其实是一个区分用户的过程,来记录你的UserID。比如:百词斩官方公众号通过你发特定的字符串来区别。
- 它的服务端通过SCKEY与UserID做一个映射,然后根据你的SCKEY来发给不同的人。
服务端开放一个接口,接收你的SCKEY、title、content。然后再调用微信官方接口发送客户消息。 - 用户收到消息.
Ps. 其实这个消息内容是支持Markdown的哦(很好的一个设计),如果不知道什么是Markdown的话。。。去Google?