微信公衆有兩種,服務號和訂閱號,服務號須要公司的執照和組織代碼,申請很麻煩,因此咱們申請一個訂閱號便可。申請地址https://mp.weixin.qq.com/ node
網上有一個是利用node.js 寫的,原理就是利用程序模擬用戶登陸微信公衆平臺後臺,經過網頁回覆用戶信息
python
import urllib import urllib2 import random import cookielib import json import urlparse import sys #構造登陸數據 data={'username':'test@126.com', #用戶名 'pwd':'20659dd9b89eb83fe4371808daa5477e', #加密後的密碼 'imgcode':'', 'f':'json' } #Referer 很重要,否則會報錯的 header = [('User-Agent','Mozilla/5.0 (Windows NT 6.1; WOW64; rv:14.0) Gecko/20100101 Firefox/14.0.1'),('Referer',' #構造cookie cj = cookielib.LWPCookieJar() cookie_suppot = urllib2.HTTPCookieProcessor(cj) opener = urllib2.build_opener(cookie_suppot,urllib2.HTTPHandler) opener.addheaders = header urllib2.install_opener(opener) #登陸 request = urllib2.Request('https://mp.weixin.qq.com/cgi-bin/login?lang=zh_CN',urllib.urlencode(data)) conn=opener.open(request) js = json.loads(conn.read()) #獲取令牌,能夠從登陸後的返回結果中獲取,PS:由於這個字符串不是固定的,因此須要獲取 token = dict(urlparse.parse_qsl(js['redirect_url']))['token'] #發送消息的URL url="https://mp.weixin.qq.com/cgi-bin/singlesend" #構造發送信息的數據,使用POST方法 data1={'type':'1', 'content':'這是要發送的數據', 'tofakeid':'53763645', #接受消息的訂閱人,能夠從頁面中獲取 'imgcode':'', 'token': token, #令牌 'lang':'zh_CN', 'random':random.random(), #小於1的隨機數 'f':'json', 'ajax':'1', 't':'ajax-response', } #發送消息 qe = urllib2.Request(url,urllib.urlencode(data1)) res = opener.open(qe)
以上只是演示代碼,你們能夠自行更改配合nagios,還有個重要的問題就是微信有個48小時限制,意思就是:訂閱號只能回覆48小時內和訂閱號互動的人
ios