>免责声明:本文仅作技术交流,阅读本文需要一定的开发能力准备好域名,服务器,以及一个公众号域名配置在你的domainname服务商新建一个二级域名并绑定服务器hostIPServerconfiguration将以下python文件上传到你的服务器,在代码段import中修改对应的locationcode(token,api-key,port)timefromflaskimportFlask,make_response,requestimportopenaifromflaskimportFlask,requestfromflask_cachingimportCacheimportxml.etree.cElementTreeasETimporthashlibimportrequestsimportreimportoscnt=0my_wx_token=""#可以自定义字母和数字的组合,需要填写在公众号后台my_gpt_key=""#这里填写你在OpenAI后台创建的API-KEYmy_switch_chatgpt=Trueapp=Flask(__name__)env_dist=os.environcache=Cache(app,config={'CACHE_TYPE':'simple',"CACHE_DEFAULT_TIMEOUT":30})@app.route('/',methods=['GET','POST'])defwechat():ifrequest.method=='GET':signature=request.args.get("signature","")timestamp=request.args.get("timestamp","")nonce=request.args.get("nonce","")echostr=request.args.get("echostr","")print(signature,timestamp,nonce,echostr)token=my_wx_tokendata=[token,timestamp,nonce]data.sort()temp=''.join(data)sha1=hashlib.sha1(temp.encode('utf-8')复制代码)hashcode=sha1.hexdigest()print(hashcode)ifhashcode==signature:print("wechatcommitcheckOK")returnechostrelse:print("GETerrorinputmsg")return"error-return\r\n"else:xmlData=ET.fromstring(request.stream.read())msg??_type=xmlData.find('MsgType').text如果msg_type=='text':ToUserName=xmlData.find('ToUserName').textFromUserName=xmlData.find('FromUserName').textCreateTime=xmlData.find('CreateTime').textprint(ToUserName)print(FromUserName)print(CreateTime)globalcntcnt+=1print('-------->'+str(cnt))returngenerate_response_xml(FromUserName,ToUserName,xmlData.find('Content').text)deftext_reply(FromUserName信息),ToUserName,output_content):reply='''
