这篇教程Python 京东云无线宝消息推送功能写得很实用,希望能帮到您。 配置文件注释里面有写,懒得用配置文件了 代码 # 京东云无线路由宝推送import requestsimport jsonimport timeimport hmacimport hashlibimport base64import urllib.parsefrom datetime import datetime# 发送钉钉消息def sendinfo_ding(token,secret,data): dic=get_timestamp_and_sign_by_secret(secret) timestamp=dic['timestamp'] sign=dic['sign'] url = 'https://oapi.dingtalk.com/robot/send?access_token=%s×tamp=%s&sign=%s' %(token,timestamp,sign) #你的机器人webhook地址 headers = {'Content-Type': 'application/json'} f = requests.post(url, data=json.dumps(data), headers=headers)# 获取密签def get_timestamp_and_sign_by_secret(secret): timestamp = str(round(time.time() * 1000)) secret_enc = secret.encode('utf-8') string_to_sign = '{}/n{}'.format(timestamp, secret) string_to_sign_enc = string_to_sign.encode('utf-8') hmac_code = hmac.new(secret_enc, string_to_sign_enc, digestmod=hashlib.sha256).digest() sign = urllib.parse.quote_plus(base64.b64encode(hmac_code)) return {"timestamp":timestamp,"sign":sign}# 获取可用积分def get_jd_total_avail_point(wskey): url='https://router-app-api.jdcloud.com/v1/regions/cn-north-1/pinTotalAvailPoint' headers = {'Content-Type': 'application/json','wskey':wskey} rsp=requests.get(url,headers=headers) data=(json.loads(rsp.text)['result']['totalAvailPoint']) return {'totalAvailPoint':data}# 获取积分详情def get_jd_detail(wskey): url='https://router-app-api.jdcloud.com/v1/regions/cn-north-1/todayPointDetail?sortField=today_point&sortDirection=DESC&pageSize=15¤tPage=1' headers = {'Content-Type': 'application/json','wskey':wskey} rsp=requests.get(url,headers=headers) data=(json.loads(rsp.text)['result']) items=data['pointInfos'] total_today_point=0 total_all_point=0 dic={} dic['todayDate']=data['todayDate'] dic['items']=[] for item in items: mac=item['mac'] today_point=item['todayPointIncome'] all_point=item['allPointIncome'] total_today_point+=int(today_point) total_all_point+=int(all_point) dic['items'].append(item) dic['total_today_point']=total_today_point dic['total_all_point']=total_all_point return dic# 发送京东路由宝日报def send_jd_router(wskey): dic=get_jd_detail(wskey) msg='# 京东路由宝日报/n' msg+='## %s /n' %(dic['todayDate']) msg+=('> 今日获取总积分为**%d**分,对应金钱为 **%.2f**元/n' %(dic['total_today_point'],float(dic['total_today_point'])/100)) for item in dic['items']: msg+=('>> 设备**%s** /n' %(item['mac'])) msg+=('>>> 今日获取积分为**%s**分,对应金钱为 **%.2f**元 /n/n' %(item['todayPointIncome'],float(item['todayPointIncome'])/100)) msg+=('> 累计总积分为 **%s** 分,对应金钱 **%.2f** 元 /n/n' %(dic['total_all_point'],float(dic['total_all_point'])/100)) dic=get_jd_total_avail_point(wskey) msg+=('> 目前可用积分为 **%s** 分,对应金钱 **%.2f** 元' %(dic['totalAvailPoint'],float(dic['totalAvailPoint'])/100)) # token="" # secret="" # data = { # "msgtype": "markdown", # "markdown": { # "title":"京东云路由宝日报", # "text": msg # }, # } # sendinfo_ding(token,secret,data) # 更改server酱发送 server_send_wechat('京东路由宝日报',msg)#Server酱发送微信def server_send_wechat(text,desp=''): # Server酱 Key key='' url=('https://sc.ftqq.com/%s.send' %key) params={ 'text':text, 'desp':desp } requests.get(url,params)# 更改为配置文件获取 todowskey=''while True: now = datetime.now() print("任务执行的时间为:"+datetime.strftime(now,"%Y-%m-%d:%H:%M:%S")) if now.hour==8 and now.minute==0: send_jd_router(wskey) time.sleep(60) 知识点扩展:Python编程之微信推送模板消息功能示例 本文实例讲述了Python微信推送模板消息功能。分享给大家供大家参考,具体如下: 具体代码如下: #!/usr/bin/env python#-*- coding: utf-8 -*-import httplibimport jsonimport MySQLdb#从数据库中获取access_tokenaccess_token=""try:conn=MySQLdb.connect(host='192.168.1.1',user='root',passwd='root',db='db_weixin',port=3306)cur=conn.cursor()cur.execute('select access_token from weixin_public')result=cur.fetchone()#print result#print result[0]access_token=result[0]cur.close()conn.close()except MySQLdb.Error,e:print "Mysql Error %d: %s" % (e.args[0], e.args[1])#根据接口推送消息if not access_token is None:conn = httplib.HTTPConnection("api.weixin.qq.com:80")#微信接口链接headers = {"Content-type":"application/json"} #application/x-www-form-urlencodedparams = ({'touser' : "oEGZ4johnKOtayJbnEVeuaZr6zQ0",#用户openid'template_id' : 'AtFuydv8k_15UGZuFntaBzJRCsHCkjNm1dcWD3A-11Y',#模板消息ID'url' : 'https://www.jb51.net',#跳转链接"topcolor" : "#667F00",#颜色"data" : {#模板内容"first" : {"value" : "尊敬的710.so : 您的网站https://www.jb51.net (192.168.1.1) 有异常访问", "color" : "#173177"},"keyword1" : {"value" : "访问时间 2015-04-05 15:30:59 访问IP 192.168.1.2", "color" : "#173177"},"keyword2" : {"value" : "访问链接 https://www.jb51.net", "color" : "#173177"},"remark" : {"value" : "访问频率 10/s", "color" : "#173177"}}})conn.request("POST", "/cgi-bin/message/template/send?access_token="+access_token, json.JSONEncoder().encode(params), headers)#推送消息请求response = conn.getresponse()data = response.read()#推送返回数据if response.status == 200:print 'success'print dataelse:print 'fail'conn.close() 希望本文所述对大家Python程序设计有所帮助。 以上就是Python 京东云无线宝消息推送的详细内容,更多关于Python 京东云无线宝推送的资料请关注51zixue.net其它相关文章! 解决pytorch下只打印tensor的数值不打印出device等信息的问题 pytorch 带batch的tensor类型图像显示操作 |