1、html
因爲微信我的訂閱號目前不少功能還沒開通,因此採用微信公衆平臺測試賬號,python
用微信掃碼登陸就能夠得到一個本身的微信測試號:json
掃碼關注測試帳號:api
各類功能接口文檔都有提供,可根據需求自行查看。微信
若是要在線調試接口,須要本身申請一個訂閱號,登錄以後,點擊開發者工具->在線調試工具app
2、微信公衆平臺
上面的準備工做作完了,就能夠開始調用接口實現功能了。工具
#coding:utf-8 import time import datetime import os import ConfigParser import requests import json class MsgToWeiXin(object): def __init__(self): self._config = ConfigParser.SafeConfigParser() # self._config.read('config.ini') batRunningPath = os.path.dirname(os.sys.executable) batPath = os.path.dirname(os.sys.path[0]) if os.path.exists(batPath + "\MsgToWeiXin\config.ini"): self._config.read(batPath + "\MsgToWeiXin\config.ini") else: self._config.read(batRunningPath + "\config.ini") self._access_token = "" self._expires_in = 7200 self._token_getTime = 0 self._appid = self._config.get("weixin", "appid") self._secret = self._config.get("weixin", "secret") self._touser = self._config.get("weixin", "touser") self._togroup = self._config.get("weixin", "groupid") datenow = datetime.datetime.now() datenow = datenow.strftime("%Y%m%d") self._nToDay = datenow self._msg = "" def getMsgFromTxt(self): datenow = datetime.datetime.now() datenow = datenow.strftime("%Y%m%d") strFileName = str(datenow) + "_IndexServerInterface.txt" print strFileName try: for line in open(strFileName): if line != "\n": self._msg += line return True except Exception, e: print str(e) return False def get_token(self): url = 'https://api.weixin.qq.com/cgi-bin/token' values = { 'grant_type':'client_credential', 'appid' : self._appid , 'secret':self._secret, } req = requests.get(url, params=values) data = req.json() self._token_getTime = time.time() self._access_token = data["access_token"] self._expires_in = data["expires_in"] def send_msg(self): url = "https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=" + self._access_token content = "Date:{0},\r{1} \r\n".format(self._nToDay,self._msg) values = { "touser" : self._touser , "msgtype":"text", "text":{ "content": content } } #header={"content-Type":"application/json"} #req = requests.post(url, data=json.dumps(values),headers=header) req = requests.post(url, data=json.dumps(values, ensure_ascii=False)) result = req.json() return result['errcode'] def send_msg_group(self): url = "https://api.weixin.qq.com/cgi-bin/message/mass/sendall?access_token=" + self._access_token content = "Date:{0},\r{1} \r\n".format(self._nToDay,self._msg) values = { "filter" : { "is_to_all":False, "group_id":self._togroup, }, "msgtype":"text", "text":{ "content": content } } #header={"content-Type":"application/json"} #req = requests.post(url, data=json.dumps(values),headers=header) req = requests.post(url, data=json.dumps(values, ensure_ascii=False)) result = req.json() return result['errcode'] if __name__ == '__main__': msgToWX = MsgToWeiXin() if True == msgToWX.getMsgFromTxt(): if msgToWX._msg != "": print msgToWX._msg else: msgToWX._msg += "指標數據正常" msgToWX.get_token() if 0 == msgToWX.send_msg(): print "send success" else: print "send failed" else: print "getMsgFromTxt error"
Linux下報錯:ImportError: No module named 'requests.packages.urllib3'post