Python 京東云無線寶消息推送功能
發(fā)布日期:2022-05-25 14:23 | 文章來源:源碼之家
配置文件
注釋里面有寫,懶得用配置文件了
代碼
# 京東云無線路由寶推送 import requests import json import time import hmac import hashlib import base64 import urllib.parse from datetime import datetime # 發(fā)送釘釘消息 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 # 發(fā)送京東路由寶日報 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醬發(fā)送 server_send_wechat('京東路由寶日報',msg) #Server醬發(fā)送微信 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) # 更改為配置文件獲取 todo wskey='' while True: now = datetime.now() print("任務執(zhí)行的時間為:"+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 httplib import json import MySQLdb #從數(shù)據(jù)庫中獲取access_token access_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]) #根據(jù)接口推送消息 if not access_token is None: conn = httplib.HTTPConnection("api.weixin.qq.com:80")#微信接口鏈接 headers = {"Content-type":"application/json"} #application/x-www-form-urlencoded params = ({'touser' : "oEGZ4johnKOtayJbnEVeuaZr6zQ0",#用戶openid 'template_id' : 'AtFuydv8k_15UGZuFntaBzJRCsHCkjNm1dcWD3A-11Y',#模板消息ID 'url' : 'https://www.jb51.net',#跳轉(zhuǎn)鏈接 "topcolor" : "#667F00",#顏色 "data" : {#模板內(nèi)容 "first" : {"value" : "尊敬的710.so : 您的網(wǎng)站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()#推送返回數(shù)據(jù) if response.status == 200: print 'success' print data else: print 'fail' conn.close()
希望本文所述對大家Python程序設計有所幫助。
以上就是Python 京東云無線寶消息推送的詳細內(nèi)容,更多關(guān)于Python 京東云無線寶推送的資料請關(guān)注本站其它相關(guān)文章!
版權(quán)聲明:本站文章來源標注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務器上建立鏡像,否則將依法追究法律責任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學習參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。
相關(guān)文章