以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助] 阿里云服务器部署微信公众号 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=154608) |
-- 作者:zcgmxf -- 发布时间:2020/9/20 9:51:00 -- [求助] 阿里云服务器部署微信公众号 老师,我的微信公众号服务器端在本地测试没问题,放到阿里云服务器上后获取 token 失败, 后台基本配置修改域名时也是提示获取token失败。 但是我的阿里云服务器域名是可以访问的,测试没问题。80端口也按照服务器部署打开了的。可能是什么原因?谢谢! 图片中的IP 是阿里云服务器的公网IP [此贴子已经被作者于2020/9/20 10:00:06编辑过]
|
-- 作者:浙江仔 -- 发布时间:2020/9/20 10:46:00 -- 微信公众号需要配置ip白名单 |
-- 作者:zcgmxf -- 发布时间:2020/9/21 20:34:00 -- 谢谢!阿里云服务器上可以获取token了,但在后台配置参数时用访问服务器的域名还是提示 “获取token失败”。
|
-- 作者:有点蓝 -- 发布时间:2020/9/21 20:38:00 -- 公众号有没有设置可信域名? 截图看看在怎么后台配置的参数?
|
-- 作者:zcgmxf -- 发布时间:2020/9/21 22:40:00 -- 老师,设置了可信域名。下面这个域名是在本机上测试的,没有问题。现在放到阿里云服务器上,用另一个域名 http://dcqjkzx.top/wefox 就是那个可信域名,其它可以访问,也可以直接获取token。但是修改后台配置 为可信域名时就提示 token验证失败。 [此贴子已经被作者于2020/9/21 22:45:17编辑过]
|
-- 作者:有点蓝 -- 发布时间:2020/9/21 22:59:00 -- 贴出httprequest事件完整代码看看 |
-- 作者:zcgmxf -- 发布时间:2020/9/21 23:16:00 -- Dim fl As String = "c:\\web\\" & e.path \'合成含路径的文件名 If filesys.FileExists(fl) Dim idx As Integer = fl.LastIndexOf(".") Dim ext As String = fl.SubString(idx) S elect Case ext Case ".jpg",".gif",".png",".bmp",".wmf",".js",".htm",".html",".css",".zip",".rar" \'这里加上了js扩展名 e.WriteFile(fl) Return \'这里必须返回 End Se lect End If S elect Case e.path Case "wefox" If e.Request.HttpMethod = "GET" If Functions.Execute("VerifySignature",e) Then e.WriteString(e.GetValues("echostr")) End If ElseIf e.Request.HttpMethod = "Post" \' Dim wbiz As New WXBizCrypt("wx272e30a","dc","FXvmuyKLXZkfIxQmW19tea") Dim st As New Date(1970,1,1,8,0,0) Dim msg As String = wbiz.DecryptMsg(e) \'解密收到的消息 If IsNumeric(msg) Then \'如果解密失败 Dim err As String = wbiz.GetErorDesc(CInt(msg)) \'获取错误描述 Return End If Dim xo As Foxtable.XObject = Foxtable.XObject.Parse(msg) Se lect Case xo("MsgType") Case "text","image","voice","video","shortvideo" If DataTables("Message").Find("MsgID = \'" & xo("MsgId").ToString() & "\'") IsNot Nothing Then \'如果有相同MsgID的信息直接返回 Return End If Dim dr As DataRow = DataTables("Message").AddNew() dr("FromUserName") = xo("FromUserName") dr("CreateTime") = st.AddSeconds(xo("CreateTime")) dr("MsgType") = xo("MsgType") dr("MsgId") = xo("MsgId") dr("MediaId") = xo("MediaId") dr("ThumbMediaId") = xo("ThumbMediaId") dr("PicUrl") = xo("PicUrl") dr("Content") = xo("Content") dr("Format") = xo("Format") dr("Recognition") = xo("Recognition") \'被动回复消息 Dim so As New Foxtable.XObject() so("ToUserName") = xo("FromUserName") so("FromUserName") = xo("ToUserName") so("CreateTime") = (Date.Now - st).TotalSeconds() so("MsgType")= "text" Dim r As DataRow = DataTables("Zhishifenlei").Find("编号 = \'" & Cstr(xo("Content")) & "\'") If r IsNot Nothing Then so("Content") = CStr(r("内容")) Else If dr("Content") = Nothing Then Return Else so("Content") = "抱歉,您查询的内容不存在,请核对输入编号是否正确!" End If End If msg = wbiz.EncryptMsg(e,so.ToXML ) \'加密要发送的消息 If IsNumeric(msg) Then \'如果加密失败 Dim err As String = wbiz.GetErorDesc(CInt(msg)) \'获取错误描述 Else e.WriteString(msg) End If Case "event" \'如果是事件 Functions.Execute("Guanzhushijian",xo,e) End Sel ect End If End Se lect
[此贴子已经被作者于2020/9/21 23:20:37编辑过]
|
-- 作者:有点蓝 -- 发布时间:2020/9/22 8:34:00 -- 这个绝对不是事件完整代码。我访问http://dcqjkzx.top/wefox弹出了登录网页。 |
-- 作者:zcgmxf -- 发布时间:2020/9/22 9:06:00 -- 老师,阿里云服务器上还有一个手机办公软件的服务端。是不是有冲突?是不是只能部署一个服务端? [此贴子已经被作者于2020/9/22 9:06:40编辑过]
|
-- 作者:有点蓝 -- 发布时间:2020/9/22 9:08:00 -- 可以合并到一个。如果多个服务端,需要使用不同端口,把手机办公软件改为其它端口,公众号回调是必须使用80端口的 |