config:fail,invalid signature 微信分享报错
奇葩啊奇葩
今天遇到一个奇怪的问题,就是在微信中分享 卡片携带标题以及图片的问题。
基本配置 去 微信公众平台 都能找到 , 遇到的问题 去百度 大部分都能解。
我的问题 有个别网页能分享出卡片并且也能携带出卡片的标题,但是也有个别网页分享不出标题与图片 做法都一摸一样 ,可恶啊 排查了好久, 还得打开调试模式 "debug:true" 或者 在微信开发工具中可以看到
有问题的网页都提示了同一个错误”config:fail,invalid signature“,哦 原来是签名的问题, 那问题是我之前没问题的网页 也是这种做法啊。 然后我又去看了官网
终于我看官网上说url的问题,在生成签名的时候也要拼接请求中的参数(key1=value1&key2=value2…) ,我回去看了一下 ,果然成功能分享出卡片的 都是无参url ,那些携带参数的url全部失效 导致签名失败的问题。
我当初的做法是单纯的使用了 request.getRequestURL() 的方法 做了签名参数 ,这也怪自己当初为了省事没细看说明的问题。
改成 request.getRequestURL() + ” ? “ + request.getQueryString() 即可解决
关键代码
String nonceStr = WXPayUtil.generateNonceStr( ); set("appId",WeChatUtil.APPID); long timestamp = new Date( ).getTime( ); set("timestamp", timestamp); set("nonceStr", nonceStr); set("signature", WeChatUtil.getSignature(timestamp + "", nonceStr, getRequest( ).getRequestURL( ).toString( ) + "?"+getRequest().getQueryString()));
本文来自博客园,作者:lanwf,转载请注明原文链接:https://www.cnblogs.com/lccsdncnblogs/p/17443936.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义