通过接口给你的 mac 推送消息

mac 下有个 osascript -e ‘display notification “title” with title “title”‘ 的命令可以往推送中心发消息。

配合python脚本来监听端口,然后再找一台外网把请求转发到内网本机就OK了。效果如图:


脚本如下

#!/usr/bin/python

#coding=utf-8

__author__ = 'baozi'

from BaseHTTPServer import HTTPServer

import os

from sys import version as python_version

if python_version.startswith('3'):

    from urllib.parse import parse_qs

    from http.server import BaseHTTPRequestHandler

else:

    from urlparse import parse_qs

    from BaseHTTPServer import BaseHTTPRequestHandler

class NoticeHandler(BaseHTTPRequestHandler):

    def do_GET(self):

        query = self.path.split('?',1)

        if len(query) < 2:

            str = 'err'

        else:

            str = 'ok'

            params = parse_qs(query[1])

            title = params.get('title', '')[0]

            msg = params.get('msg', '')[0]

            os.system('osascript -e \'display notification "%s" with title "%s"\'' % (msg, title))


        self.send_response(200)

        self.end_headers()

        self.wfile.write(str)


    def do_POST(self):

        self.wfile.write('method error.')

server = HTTPServer(('', 8001), NoticeHandler)

print 'started http server...'

server.serve_forever()

# 通过外网主机转发 ssh -N -f -R 8001:127.0.0.1:8001 root@外网ip

# http://外网ip:8001/?title=this%20is%20a%20title&msg=this%20is%20a%20message


这边的代码不能格式化,可以来我的博客 http://www.baozy.com/archives/12567.html

你可能感兴趣的:(通过接口给你的 mac 推送消息)