多种语言调用Server酱推送微信模板消息

Server酱用来推送报警信息或日志是非常方便的,接入成本非常低也很简单

最近使用了一个 Python 的自动签到脚本,进行自动签到,但是每天签到完白天还需要看日志或者访问网站查看是否成功

这还不如每天手动签到呢,所以就想到了Server酱来推送签到消息

这样每天早晨起来看一眼手机就知道有没有签到成功,如果失败了则进行手动补签

Server酱发送消息非常简单,只需要向以下 URL 发一个GET或者POST请求:

https://sc.ftqq.com/[your-key].send

接受两个参数:

  • text:消息标题,最长为256,必填
  • desp:消息内容,最长64Kb,可空,支持MarkDown

下面就上具体代码吧

PHP 版

PHP 的代码当然是最简单的了,可以直接一个file_get_contents()就可以了

file_get_contents('https://sc.ftqq.com/[your-key].send?text='.urlencode('PHP调用Server酱推送微信模板消息'));

为了方便使用,我们封装成一个函数

function sendByServer($text, $desp = '', $key = '[your-key]')
{
    $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);

    $result = file_get_contents('https://sc.ftqq.com/'.$key.'.send', false, $context);

    return $result;
}

Python 版

依赖requests模块,亦可以使用其他请求模块,示例代码为Python2,请求语法应该和Python3差别不大

# coding=utf-8
import requests

key = "" # your-key
url = "https://sc.ftqq.com/%s.send"%(key)
headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36'}

payload = {'text': 'Server酱提醒', 'desp': 'Python用Server酱推送微信模板消息'}
requests.post(url, params=payload, headers=headers)

其他语言版本等我用到了再补充…

4 条评论

发表评论

*