Python 京東云無線寶消息推送功能
注釋里面有寫,懶得用配置文件了
代碼
# 京東云無線路由寶推送import requestsimport jsonimport timeimport hmacimport hashlibimport base64import urllib.parsefrom 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) #你的機(jī)器人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ā)送京東路由寶日?qǐng)?bào)def send_jd_router(wskey): dic=get_jd_detail(wskey) msg=’# 京東路由寶日?qǐng)?bào)n’ msg+=’## %s n’ %(dic[’todayDate’]) msg+=(’> 今日獲取總積分為**%d**分,對(duì)應(yīng)金錢為 **%.2f**元n’ %(dic[’total_today_point’],float(dic[’total_today_point’])/100)) for item in dic[’items’]:msg+=(’>> 設(shè)備**%s** n’ %(item[’mac’]))msg+=(’>>> 今日獲取積分為**%s**分,對(duì)應(yīng)金錢為 **%.2f**元 nn’ %(item[’todayPointIncome’],float(item[’todayPointIncome’])/100)) msg+=(’> 累計(jì)總積分為 **%s** 分,對(duì)應(yīng)金錢 **%.2f** 元 nn’ %(dic[’total_all_point’],float(dic[’total_all_point’])/100)) dic=get_jd_total_avail_point(wskey) msg+=(’> 目前可用積分為 **%s** 分,對(duì)應(yīng)金錢 **%.2f** 元’ %(dic[’totalAvailPoint’],float(dic[’totalAvailPoint’])/100)) # token='' # secret='' # data = { # 'msgtype': 'markdown', # 'markdown': { # 'title':'京東云路由寶日?qǐng)?bào)', # 'text': msg # }, # } # sendinfo_ding(token,secret,data)# 更改server醬發(fā)送 server_send_wechat(’京東路由寶日?qǐng)?bào)’,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)# 更改為配置文件獲取 todowskey=’’while True: now = datetime.now() print('任務(wù)執(zhí)行的時(shí)間為:'+datetime.strftime(now,'%Y-%m-%d:%H:%M:%S')) if now.hour==8 and now.minute==0:send_jd_router(wskey) time.sleep(60)
知識(shí)點(diǎn)擴(kuò)展:Python編程之微信推送模板消息功能示例
本文實(shí)例講述了Python微信推送模板消息功能。分享給大家供大家參考,具體如下:
具體代碼如下:
#!/usr/bin/env python#-*- coding: utf-8 -*-import httplibimport jsonimport MySQLdb#從數(shù)據(jù)庫中獲取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])#根據(jù)接口推送消息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’,#跳轉(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' : '訪問時(shí)間 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)#推送消息請(qǐng)求response = conn.getresponse()data = response.read()#推送返回?cái)?shù)據(jù)if response.status == 200:print ’success’print dataelse:print ’fail’conn.close()
希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。
以上就是Python 京東云無線寶消息推送的詳細(xì)內(nèi)容,更多關(guān)于Python 京東云無線寶推送的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!
相關(guān)文章:
1. 前端從瀏覽器的渲染到性能優(yōu)化2. ASP實(shí)現(xiàn)加法驗(yàn)證碼3. 利用CSS3新特性創(chuàng)建透明邊框三角4. 讀大數(shù)據(jù)量的XML文件的讀取問題5. 解析原生JS getComputedStyle6. 無線標(biāo)記語言(WML)基礎(chǔ)之WMLScript 基礎(chǔ)第1/2頁7. css代碼優(yōu)化的12個(gè)技巧8. ASP刪除img標(biāo)簽的style屬性只保留src的正則函數(shù)9. ASP基礎(chǔ)入門第三篇(ASP腳本基礎(chǔ))10. PHP循環(huán)與分支知識(shí)點(diǎn)梳理
