专栏电商日志财经减肥爱情
投稿投诉
爱情常识
搭配分娩
减肥两性
孕期塑形
财经教案
论文美文
日志体育
养生学堂
电商科学
头戴业界
专栏星座
用品音乐

小白Python脚本使用Python对接微信公众号测试号推送

  小白Python脚本:使用Python对接微信公众号测试号推送消息
  使用Python对接微信公众平台接口测试账号推送消息,比如将收集的数据或者一些消息及时推送给自己或者团队成员,本小白曾长时间运行类似脚本,将监测的异常情况及时发送给自己,提高了异常发现的及时性、提高工作效率。
  这是一个对于初学者可以尝试的一个小小的测试项目,具有一定的较易入手性与可玩性,比较容易上手。
  本文以使用微信公众平台接口测试帐号为例,直接使用微信公众号的用法是一样的,在生产环境中有一定的适用性,但是具体的实现逻辑需要根据实际需要进行编制。
  一、申请微信公众平台接口测试帐号
  链接:https:mp。weixin。qq。comdebugcgibinsandbox?tsandboxlogin
  点击登录,在新打开的页面使用自己的微信进行扫一扫。
  在手机微信端确认登录后,电脑上的网页将会自动进入测试号管理界面,如下:
  appID与appsecret可记录一下,后续会用到。
  关于接口配置信息部分,可在服务器端配置完成后,再进行配置。二、服务器端配置
  对于服务器端,需有要公网可访问的服务器。由于一般的家用宽带的80、443等入端口被封禁等情况,难以直接使用家用宽带中的电脑作为服务器,当然可以通过使用一些公网服务器端口转发本地端口的方式;也可以申请云服务器,把服务端脚本部署在服务器上,也是比较方便的方式。像当前的阿里云、百度云、或者腾讯云的一些类似轻量服务器,对于新用户,一年几十元即可购得,成本较低,后续可使用的地方也比较多。亚马逊云的EC2对于一些配置的云服务器可以免费使用一年,但是需要校验绑定信用卡。
  我的服务器端环境:操作系统是采用的是Linux,Ubuntukylin20。04发行版;Python为Python3。8。
  如果没有安装pip3的话,可以使用sudoaptinstallpython3pip安装。
  需要安装flask及sqlite,安装指令如下:sudopip3installflasksudoaptgetinstallsqlite3
  以下是服务器端的python脚本wechatOfficialAccountsServer。py文件内容:!usrbinenvpython3coding:UTF8importosimporthashlibimportdatetimeimporttimeimporturllib3importjsonimportrandomimportstringfromjsonimportimportrequestsfromflaskimportFlask,g,request,rendertemplate,redirect,urlfor,escape,session,flashappFlask(name)app。secretkeyA0Zr98j3yXRXHH!jmN〕LWXXSXAE89importsqlite3DATABASEOfficialAccounts。dbdefconnectdb():returnsqlite3。connect(DATABASE)app。beforerequestdefbeforerequest():g。dbconnectdb()app。teardownrequestdefteardownrequest(exception):ifhasattr(g,db):g。db。close()deffetchaccesstokenAPPID(APPID):timenowdatetime。datetime。now()cg。db。cursor()sqlselectAPPID,APPSECRET,accesstoken,updatetimefromOfficialAccountswhereAPPIDs;APPIDc。execute(sql)rowc。fetchone()appIdrow〔0〕secretrow〔1〕accesstokenrow〔2〕timerow〔3〕timedatetime。datetime。strptime(row〔3〕,YmdH:M:S)if(accesstokenisNone)or((timenowtime)。totalseconds()6000):urlhttps:api。weixin。qq。comcgibintoken?granttypeclientcredentialappidappIdsecretsecretrrequests。get(url)tokeninfojson。loads(r。text)accesstokenstrtokeninfo〔accesstoken〕sqlsetaccesstokenupdateOfficialAccountssetaccesstokenaccesstokenstr,updatetimedateTime(now,localtime)whereappids;APPIDc。execute(sqlsetaccesstoken)g。db。commit()accesstokenaccesstokenstrreturnaccesstokenapp。route(wechatMsgReceiver,methods〔GET,POST〕)defwemsgre():ifrequest。methodGET:verifywechatconnectconfiguration。idrequest。args。get(id)ifidisnotNone:signaturerequest。args。get(signature)timestamprequest。args。get(timestamp)noncerequest。args。get(nonce)echostrrequest。args。get(echostr)cg。db。cursor()sqlselectTokenfromOfficialAccountswhereidd;(int(id))c。execute(sql)rowc。fetchone()tokenrow〔0〕tmplist〔token,timestamp,nonce〕tmplist。sort()tmpstr。join(tmplist)hashstrhashlib。sha1(tmpstr。encode())。hexdigest()ifhashstrsignature:returnechostrelse:returnErrorechostrelse:returnfaultelifrequest。methodPOST:returnSUCCESSsendtextmessage。app。route(sendtxtmsg,methods〔GET,POST〕)defsendtxtmsg():ifrequest。methodPOST:print(request。data)receivedDatajson。loads(request。data。decode())print(receivedData〔appID〕)tokenfetchaccesstokenAPPID(receivedData〔appID〕)datajson。dumps(receivedData〔messageContent〕,ensureasciiFalse)。encode(utf8)urlhttps:api。weixin。qq。comcgibinmessagecustomsend?accesstokentokenrrequests。post(url,data)responsejson。loads(r。text)returnresponsesendtextmessage。app。route(,methods〔GET,POST〕)defindex():returnJustatest!ifnamemain:app。run(host0。0。0。0)
  以上脚本的app。secretkeyA0Zr98j3yXRXHH!jmN〕LWXXSXAE89建议自己再修改一下,当然测试使用就无所谓了。
  上传wechatOfficialAccountsServer。py脚本到某一路径,以下操作在同路径中进行。
  创建数据库、建立表、插入数据。
  对于insertintoOfficialAccounts(Id,Name,APPID,APPSECRET,Token)values(,,,,);这条指令中的,,,,这几个参数,根据配置进行修改,这里的,是服务端系统中自己随便定义的参数,比如Id为1,Name为testAccounts,而,是来自于测试公众号中的参数,见上一步申请微信公众平台接口测试帐号中的参数,是自定义的,与申请微信公众平台接口测试帐号中设置一致即可。
  sqlite指令示例:sqlite3OfficialAccounts。dbCREATETABLEOfficialAccounts(Idinteger,Namechar,APPIDchar,APPSECRETchar,Tokenchar,accesstokenchar,EncodingAESKeychar,updatetimeTIMESTAMPDEFAULTcurrenttimestamp);exapmle:insertintoOfficialAccounts(Id,Name,APPID,APPSECRET,Token)values(Id,Name,,,Token);insertintoOfficialAccounts(Id,Name,APPID,APPSECRET,Token)values(2,testAccount,wx9276144e23c95xxx,a320ddd3ae51c363b294086f031d0xxx,testtoken);。exit
  运行脚本wechatOfficialAccountsServer。py。
  以下为在开发测试环境中直接使用flask运行,如果长期使用或者在生产环境中可以配置使用apache、ngnix等。
  在脚本所在目录中执行:exportFLASKAPPwechatOfficialAccountsServer。pyflaskrunhost0。0。0。0p8080
  端口根据实际使用定义,如80,8080等。
  如果遇到缺少某些库,自行安装即可。
  三、微信公众平台接口测试帐号的接口配置确认:
  返回第1步微信公众平台接口测试帐号配置页面,在如下接口配置信息部分进行配置。
  在接口配置信息部分,需要填写URL与Token,结合自己的服务器端资源情况进行填写,如我的填写为:
  URL:http:xx。xx。xx。xx:8080wechatMsgReceiver?id2
  Token:testtoken
  以上示例中的xx。xx。xx。xx代替实际IP,请按实际配置更改。
  在服务器端正常运行后,再进行此处的接口配置修改。一切正常的话,将会看到配置成功的提示。
  四、推送文本消息测试:
  在测试号管理页面可以看到测试号二维码,使用微信客户端扫描关注后,此页面可以看到用户,测试号最多可以100个用户关注。如下,所示:
  记录下用户微信号那一长串字符串,后面将会使用。
  本处使用的脚本sendMsgClient。py,在任意可以与服务器端正常通信的电脑上使用都可以,也可以直接放在服务器端。
  脚本中的Server、appID,根据实际配置进行修改,receiveUserList为接收者微信号列表,多个接收者使用逗号分隔。(接收者微信号标识是在微信公众号管理页面里看到的用户的那一长串用户标识。)
  sendMsgClient。py脚本内容如下:!usrbinenvpython3importjsonimportrequestsimportdatetime修改此部分配置信息Serverhttp:xx。xx。xx。xx:8080根据实际配置修改服务端信息appIDxxxxxxxx修改为实际使用的appIDreceiveUserList〔yyyyyyyyyyyyyyyyyyyy〕接收消息用户列表defsendwechatmsg(content):fortouserinreceiveUserList:data{appID:appID,messageContent:{touser:touser,msgtype:text,text:{content:content}}}datajson。dumps(data,ensureasciiFalse)。encode(utf8)urlServersendtxtmsgrrequests。post(url,data)resultjson。loads(r。text)print(result)defmain():messageThisisjustatestmessage。这是一条测试消息。sendwechatmsg(message)ifnamemain:main()
  messageThisisjustatestmessage。这是一条测试消息。这部分是定义的发送的测试消息内容,发送内容可根据需要修改。
  执行发送消息脚本,运行如下:
  手机微信微收到消息,示例如下:
  这里是使用微信公众号的客服消息接口进行的推送消息,会有一定的下发额度及有效期限制,如果由于用户长时间与测试号未交互造成不在客户消息下发规则内,可以使用手机微信端先给测试号发送一下消息,再进行推送消息测试。
  发送客服消息的额度与有效期如下:
  如果格式比较固定,也可以使用模板消息(业务通知)进行消息发送,在用户长时间没有与公众号交互的情况下也可以推送模板消息。相应的脚本、配置等,需要进行新的适配,相关可参考微信公众号体验接口权限表接口链接。
  以上是关于使用python对接微信公众号测试号推送消息的记录,也是学习途中一点小小的快乐,如果对于探索途中的初学者有所帮助,本人将深感幸甚。

淄博高青藏着一处宝藏民间博物馆,万件文物讲述黄河故事走进山东省高青县述青藏古博物馆,映入眼帘的是各种各样的碑刻石刻历史文献资料11月8日,黄河安澜暨绿色发展看山东网络主题采访团来到述青藏古博物馆,聆听黄河故事,挖掘黄河文化蕴含的时代巴彦淖尔的五彩石巴彦淖尔的五彩石陈军在内蒙古的巴彦淖尔,有一湾干涸的湖那荒芜的戈壁滩上是什么在闪闪发光把人们的眼睛迷住地面上铺着五彩的石头多么美丽又多么丰富那就是珍贵的玛瑙石啊此乃上天赐给炎黄子孙陇南风光深秋宕昌景色美深秋时节,秋色又渲染了人间。不论在山上河畔田间地头,火红的枫叶秋日的晚霞树影婆娑,光影斑驳五彩缤纷,景色动人,像一幕幕人间仙境,请您慢慢欣赏!山上风景秀美,气候怡人,树木茂盛。满山几百块钱的旅游团赚什么?看似管吃管住,实际背后套路满满现在,大多数人都是组团旅游,因为一个组团旅游可以有一个成熟的导游来引导我们参观一个陌生的景点,以免在景点中迷路。现在有两种形式的团体旅游,一种是纯旅行团,另一种是消费团。众所周知,客家首府长汀的美食大全,赶紧收藏起来去一饱口福吧你们的家乡有哪些美食呢说到美食,不得不说的就是各地的小吃文化了,小吃是一类在口味上具有特定风格特色的食品的总称。小吃就地取材,能够反映当地的物质文化及社会生活风貌,是一个地区不可或塞上湖城我国西北内陆城市银川缘何上榜国际湿地城市新华社北京11月10日电11月10日,新华每日电讯发表题为塞上湖城我国西北内陆城市银川缘何上榜国际湿地城市的报道。2018年10月,在阿联酋迪拜召开的湿地公约第十三届缔约方大会上,2个香港人来广东玩,在一家苍蝇小馆点了3道菜,结账时以为看花眼网上有一个段子是说广东人什么都吃,连福建人也吃,这是个玩笑话,但也可以看出广东的菜品有多丰富,广东菜又叫做粤菜,是八大菜系之一,简单来说是广州府菜,要是放大来说,每个城市都有自己的南航广州罗马航线复航11月9日凌晨1时03分,中国南方航空CZ661广州罗马航班搭载62名旅客从广州白云国际机场顺利起飞。这是2020年2月以来,南航广州至罗马航线的首次复航,也是2022年冬春航季恢路易十四活了77年却只洗过几次澡,其情妇回忆说十米外臭气熏天真是太奇怪了,都说外国人人均每天两个澡,但却有一老外一生却只洗过几次澡。这个人不是别人就是有名的路易十四。据说离他十米外就能闻到臭味。那么路易十四为啥不爱洗澡呢?太阳王路易十四路易德至盛焉,岂不仁哉三代以下之主,汉文帝为最刘恒汉文帝刘恒(前203年前157年7月6日),西汉第五位皇帝(不含西汉前少帝后少帝则为第三位,前180年前157年在位)。汉高祖刘邦第四子,汉惠帝刘盈异母弟,母为薄姬。影视图片谈起汉隋唐演义徐茂公为啥历史里没有记载徐茂公作为瓦岗寨首席智囊,为啥只出现在隋唐演义,其他唐朝历史剧并没有他的身影?其实徐茂公是徐懋功,英国公李勣,原名徐世绩,字懋功。后为避李世民名讳改名为李绩李渊手底下名将,与李靖并
比肩燕子窠高山肉桂武夷山是一座来了就不想走的城市,在这里到处皆是打卡点,相对于核心景区山场的高价及商业气息浓重,核心周边的武夷高山茶也是高山气韵出好茶的地方,没有了人来人往的拍照打卡,反往多了些接地哈啰顺风车回应女乘客深夜被赶下车若投诉成立会封禁司机账号Tech星球3月26日消息,据报道,有位上海何女士反映,24日晚乘坐哈啰顺风车从杭州到上海,因何女士目的地在徐汇区,另两位乘客目的地在松江区,司机在半路上称何女士要去的地方太远,要深夜打虎速递!1周内,12名广东干部落马,严查反腐大战正在进行本周是两会之后的第二周,全国的反腐力度延续了上周的高压态势,在大家看官员落马看的开心的时候,小编汇总了一下本周的打虎拍蝇情况,本周广东省有16位官员落马,这个情况总结出来之后,小编好消息!3月25日深夜,又有10人被查,反腐严查大战正在进行近来,每天都有数十名贪官污吏落马,群众欢呼叫好。贪腐,其实贪的都是人民的辛苦钱,然而这些钱不是用在社会上,而是用在了自己的身上。普通人在外面辛苦劳作,赚到的也就是一家人的温饱。然而峨眉山,想说爱你不容易!峨眉山,山高近三千米,很多登顶人有高反,我也是。登顶之艰难山上基础设施之陈旧,简陋,非你能想象!从购票处只用现金拒绝微信支付开始,大巴用两个小时送你到半山平台后,你心心念念的索道缆江苏河底发现一座古墓,抽干河水后发现,墓主人竟是李云龙明年塞北清蕃落,应建生祠请立碑。人的一生,离不开生老病死,最终也逃不过死亡的命运,对于人们来说,自己在世间的所作所为,都是值得留恋的,于是墓就成为记录人们一生的重要凭证。自古以来,迎客松黄山峨眉山新纪念币也太好看了吧!据人民银行官网消息,人民银行定于2023年4月7日发行世界文化和自然遗产黄山普通纪念币世界文化和自然遗产峨眉山乐山大佛普通纪念币各一枚。世界文化和自然遗产黄山普通纪念币正面图案为中3月24日深夜!又有8人落马,涉嫌严重违纪违法,严查大战进行中写在最前反腐倡廉,是国家为了震慑贪腐,提出的一场特殊的斗争。正所谓刀刃向内,反腐倡廉所面对的,都是当初一心为民的官员们,这些贪腐官员,一步错,步步错,最终坠入深渊,无法自拔。一直以中国的大足石刻和川剧太震撼了中国的大足石刻和川剧太震撼了。来自韩国的FaceBook博主李星宇在朋友圈写道,自己是第一次来重庆大足,这次准备拍摄一些当地的美景美食视频,将大足之美展现给全世界。近日,第十一届大请查收!峨眉山的壁纸级清晨视频加载中雨过天晴,近日,峨眉城区云雾缭绕,薄纱遮盖了山下的城市,建筑在云雾中若隐若现,静谧而美好。运气好的话,风吹云散,能见到红彤彤的日出悬挂在半空中。一列高铁从远处而来,穿梭而择无对错,结果才分对错世界上最难的事是什么?世界上最难的事是我们始终不知道怎么跟自己相处,也不知道怎么跟自己和解。你见过月亮只为你一个人温柔吗?你见过花朵只为你一个人美丽吗?你见过满天的繁星只为你一个人
友情链接:快好找快生活快百科快传网中准网文好找聚热点快软网