微信分享必须是分享当前页面吗,配置其他url 报错invalid signature

当前页面为http://c.diancall.com/diancall_cust/www/index.html
想要设置分享的链接如下
http://c.diancall.com/diancall_cust/www/index.html?path=/%E9%A6%96%E9%A1%B5/xianshiyouhui9527
微信签名无误,可以通过签名验证
有在公众号后台配置c.diancall.com 安全域名
网页上看打印出来的信息都对
手机调试报 invailid signature
跪求大神指点

3个回答

签名必须是当前页面, 分享的链接 可以是统一域名下其他的,jweixin-1.2.0.js 测试可以的, 注意微信有缓存, 坑死人,改代码换同事手机测试才能更新

微信分享,只有企业号服务号(非订阅号/个人公众号)才可以进行正常的分享(有标题,简介,图片)
分享的页面不一定是当前页,是可以配置的,应该有一个linkurl参数,这个是点击分享后跳转的地址
还有,注意你的是不是测试账号,这几种公众号都是有不同效果的

chenkaixin123
chenkaixin123 回复似海知: 唉 那可能是被之前的思想误导了 其实我现在主要的问题是页面是hashChange实现页面跳转的,微信分享的时候又必须去掉hash,本想带个参数,跳转页面的时候重定向,现在也走不通,真是崩溃了
接近 2 年之前 回复
yuexiahunone
似海知 哦,对了,我想起来了,分享的页面貌似应该是当前页,因为当用户点击分享的时候,肯定是想分享当前页,如果你分享的链接跳转到了其他页面,那么这就是业务上的错误,是不符合业务逻辑的
接近 2 年之前 回复
chenkaixin123
chenkaixin123 是企业服务号,我的location.href是http://c.diancall.com/diancall_cust/www/index.html点击分享后跳转以及用于签名的url是http://c.diancall.com/diancall_cust/www/index.html?path=/E9%A6%96%E9%A1%B5/xianshiyouhui9527;如果我分享链接和签名链接用当前页面的location.href就可以正常分享,用我自己写的那个就会报invalid signature
接近 2 年之前 回复

分享当前页面可以指定分享的链接的,这样点击分享出来的链接是你指定的链接

chenkaixin123
chenkaixin123 不明白 既然是分享当前页面 怎么指定分享的链接?
接近 2 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
微信分享进入二次分享页面 提示 config:invalid signature
lz想测试上次做的分享页面,在测二次分享的时候发现config:invalid signature签名错误;(请翻看我前几天的文章)后来复制页面链接才知道分享链接自动带了参数,参数如下:微信分享会根据分享的不同,为原始链接拼接如下参数:对于IOS系统会自动增加如下参数:朋友圈 from=timeline&isappinstalled=0微信群 from=groupmessage&amp...
一直报错invalid signature
签名signature在验签工具上没错。n页面URL与参与验签的URL一致,不过URL带了端口号 8003。nJS安全域名配置没有带上端口号,因为加上端口号就会域名不合法。n大小写也没有问题。n实在是不知道怎么回事了!!??求大佬指点!!n![图片说明](https://img-ask.csdn.net/upload/201710/24/1508846837_658181.png)
微信分享链接后再次分享提示config:invalid signature
一种解决办法,并不是都是这样。我遇到的是这样。 js端ajax请求传递参数url的时候php接收会丢失参数。 需要:url = encodeURIComponent(url); 之后再传递。 php端接收参数的时候会丢失参数 接收后需要使用:$url = urldecode($url); 然后就可以了
解决微信分享iphone端报invalid signature
之前分享用的好好的,但是没有用苹果机测试. 后来才发现页面会报错误. 直接写解决方法了. 把targetUrl进行encode一下就行了. 原先是这样的 var targetUrl = location.href.split("#")[0]; 修改后: var targetUrl = encodeURIComponent(location.href.split("
微信分享iphone端报invalid signature错误
把获取的 location.href.split("#")[0]; encode一下就行了. var url = encodeURIComponent(location.href.split("#")[0]);  
thinkphp微信分享提示config:fail,invalid signature
我用的是微信公众号提供的demo里面的ssdk.pnprnjs代码用的都是demo里面的,安全域名和网页授权域名都是正确的,分享的链接、图片地址都是安全域名;rnrn为什么总是提示config:fail,invalid signaturernrn这个 $jsapiTicket = $this->getJsApiTicket(); rn我打印出来的值是空的?不知道为什么rnrn[code=php]rnGetSignPackage(); rn?> rn[/code]rnrn[code=php]appId = $appId; rn $this->appSecret = $appSecret; rn rn rn public function getSignPackage() rn $jsapiTicket = $this->getJsApiTicket(); rn $accesstoken = $this->getAccessToken(); rn rn // 注意 URL 一定要动态获取,不能 hardcode. rn $protocol = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off' || $_SERVER['SERVER_PORT'] == 443) ? "https://" : "http://"; rn $url = "$protocol$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]"; rn rn $timestamp = time(); rn $nonceStr = $this->createNonceStr(); rn rn // 这里参数的顺序要按照 key 值 ASCII 码升序排序 rn $string = "jsapi_ticket=$jsapiTicket&noncestr=$nonceStr×tamp=$timestamp&url=$url"; rn rn $signature = sha1($string); rn rn $signPackage = array( rn "appId" => $this->appId, rn "nonceStr" => $nonceStr, rn "timestamp" => $timestamp, rn "url" => $url, rn "signature" => $signature, rn "rawString" => $string rn ); rn return $signPackage; rn rn rn private function createNonceStr($length = 16) rn $chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; rn $str = ""; rn for ($i = 0; $i < $length; $i++) rn $str .= substr($chars, mt_rand(0, strlen($chars) - 1), 1); rn rn return $str; rn rn rn private function getJsApiTicket() rn // jsapi_ticket 应该全局存储与更新,以下代码以写入到文件中做示例 rn $data = json_decode(file_get_contents("jsapi_ticket.json")); rn if ($data->expire_time < time()) rn $accessToken = $this->getAccessToken(); rn // 如果是企业号用以下 URL 获取 ticket rn // $url = "https://qyapi.weixin.qq.com/cgi-bin/get_jsapi_ticket?access_token=$accessToken"; rn $url = "https://api.weixin.qq.com/cgi-bin/ticket/getticket?type=jsapi&access_token=$accessToken"; rn $res = json_decode($this->httpGet($url)); rn $ticket = $res->ticket; rn if ($ticket) rn $data->expire_time = time() + 7000; rn $data->jsapi_ticket = $ticket; rn $fp = fopen("jsapi_ticket.json", "w"); rn fwrite($fp, json_encode($data)); rn fclose($fp); rn rn else rn $ticket = $data->jsapi_ticket; rn rn rn return $ticket; rn rn rn private function getAccessToken() rn // access_token 应该全局存储与更新,以下代码以写入到文件中做示例 rn $data = json_decode(file_get_contents("access_token.json")); rn if ($data->expire_time < time()) rn // 如果是企业号用以下URL获取access_token rn // $url = "https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=$this->appId&corpsecret=$this->appSecret"; rn $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=$this->appId&secret=$this->appSecret"; rn $res = json_decode($this->httpGet($url)); rn $access_token = $res->access_token; rn if ($access_token) rn $data->expire_time = time() + 7000; rn $data->access_token = $access_token; rn $fp = fopen("access_token.json", "w"); rn fwrite($fp, json_encode($data)); rn fclose($fp); rn rn else rn $access_token = $data->access_token; rn rn return $access_token; rn rn rn private function httpGet($url) rn $curl = curl_init(); rn curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); rn curl_setopt($curl, CURLOPT_TIMEOUT, 500); rn curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); rn curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); rn curl_setopt($curl, CURLOPT_URL, $url); rn rn $res = curl_exec($curl); rn curl_close($curl); rn rn return $res; rn rn [/code]rnrn
微信分享报invalid signature签名错误解决方法
微信分享报invalid signature签名错误,解决方法
vue微信分享(在当前页面分享其他页面)
首先以分享给朋友为例1、先看官方文档wx.onMenuShareAppMessage({ title: '', // 分享标题 desc: '', // 分享描述 link: '', // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致 imgUrl: '', // 分享图标 type: '', // 分享类型,music、video或link,不
微信公众号签名错误 invalid signature
在h5上做微信分享的时候,遇到一个奇怪的问题,wx:config有时候提示ok,有时候提示签名错误,通过微信 JS 接口签名校验工具校验也是没有问题。最后看网上大家说的解决方法,大部分是url有问题,于是对url进行encodeURIComponent,解决。...
解决微信分享 jssdk 签名错误 invalid signature 意想不到的解决方案
从别的项目copy过来的,微信分享的代码,跟之前一模一样, debug: false打开提示config:invalid signature ,js安全域名也添加了,代码也没问题,怎么会事? 获取access_token,结果返回 string(65) &quot;invalid ip 52.83.125.111, not in whitelist hint: [j4PqCA06633064...
微信JSSDK invalid signature
申请了JSSDK,配置完了以后,PC端打印日志都正常,到手机端就出问题了 ,各种invalid signature。。rnrnphp代码如下:rn[code=php]rn /*----------- 微信JS-SDK API(获取Token) -----------*/rn function getAccessToken() rn $data = json_decode(file_get_contents('access_token.json'));rn if ($data->expire_time < time()) rn $url = 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=保密&secret=保密';rn $res = json_decode($this->httpGet($url));rn $access_token = $res->access_token;rn if ($access_token) rn $data->expire_time = time() + 7000;rn $data->access_token = $access_token;rn $fp = fopen('access_token.json', 'w');rn fwrite($fp, json_encode($data));rn fclose($fp);rn rn else rn $access_token = $data->access_token;rn rn return $access_token;rn rnrn /*----------- 微信JS-SDK API(获取Ticket) -----------*/rn function getJsApiTicket() rn $data = json_decode(file_get_contents('jsapi_ticket.json'));rn if ($data->expire_time < time()) rn $accessToken = $this->getAccessToken();rn $url = 'https://api.weixin.qq.com/cgi-bin/ticket/getticket?type=jsapi&access_token='.$accessToken;rn $res = json_decode($this->httpGet($url));rn $ticket = $res->ticket;rn if ($ticket) rn $data->expire_time = time() + 7000;rn $data->jsapi_ticket = $ticket;rn $fp = fopen('jsapi_ticket.json', 'w');rn fwrite($fp, json_encode($data));rn fclose($fp);rn rn else rn $ticket = $data->jsapi_ticket;rn rn return $ticket;rn rnrn /*----------- 微信JS-SDK API(生成签名) -----------*/rn public function getSign() rn $jsapiTicket = $this->getJsApiTicket();rn $nonceStr = $this->createNonceStr();rn $timestamp = time();rn $url = $_POST['url'];rn $string = 'jsapi_ticket='.$jsapiTicket.'&noncestr='.$nonceStr.'&timestamp='.$timestamp.'&url='.$url;rn $signature = sha1($string);rn $signPackage = array(rn 'appId' => '保密',rn 'nonceStr' => $nonceStr,rn 'timestamp' => $timestamp,rn 'url' => $url,rn 'signature' => $signature,rn 'rawString' => $stringrn );rn $this->myajaxReturn($signPackage, 'success', '200');rn [/code]rnrnjs代码如下:rn[code=javascript]rn/*------------------------- 微信分享(分享链接发生变更,重新请求签名) -------------------------*/rnfunction getSign() rn var tmpurl = location.href.split('#')[0];rn var shareurl = tmpurl + '?type=1&id=' + user_id + '&dater=' + search_text;rn shareurl = encodeURIComponent(shareurl);rn $.ajax(rn url: '服务端控制器(保密)/getSign',rn type: 'POST',rn dataType: 'json',rn timeout: 5000,rn data: url: shareurl ,rn success : function(data) rn console.log(data);rn registWXShare(data.data);rn ,rn error: function() rn setTimeout(function() rn registWXShare();rn ,1000);rn rn );rnrn/*------------------------- 微信分享(注册分享监听) -------------------------*/rnfunction registWXShare(data) rn // 微信分享初始化rn wx.config(rn debug: true,rn appId: data.appId,rn timestamp: data.timestamp,rn nonceStr: data.nonceStr,rn signature: data.signature,rn jsApiList: [rn 'onMenuShareTimeline',rn 'onMenuShareAppMessage',rn 'onMenuShareQQ'rn ]rn );rnrn // 微信分享监听rn wx.ready(function() rn var shareData = rn title: '这是活动的介绍页',rn desc: '这里是发送给好友的时候的简介',rn link: data.url,rn imgUrl: imgurlrn ;rn // 分享给朋友rn wx.onMenuShareAppMessage(rn title: '互联网之子',rn desc: '在长大的过程中,我才慢慢发现,我身边的所有事,别人跟我说的所有事,那些所谓本来如此,注定如此的事,它们其实没有非得如此,事情是可以改变的。更重要的是,有些事既然错了,那就该做出改变。',rn link: data.url,rn imgUrl: imgurl,rn trigger: function (res) ,rn success: function (res) alert('已分享'); ,rn cancel: function (res) alert('已取消'); ,rn fail: function (res) alert(JSON.stringify(res)); rn );rnrn // 分享到朋友圈rn wx.onMenuShareTimeline(rn title: '互联网之子',rn link: data.url,rn imgUrl: imgurl,rn trigger: function (res) ,rn success: function (res) alert('已分享'); ,rn cancel: function (res) alert('已取消'); ,rn fail: function (res) alert(JSON.stringify(res)); rn );rnrn // 分享到QQrn wx.onMenuShareQQ(rn title: '互联网之子',rn desc: '在长大的过程中,我才慢慢发现,我身边的所有事,别人跟我说的所有事,那些所谓本来如此,注定如此的事,它们其实没有非得如此,事情是可以改变的。更重要的是,有些事既然错了,那就该做出改变。',rn link: data.url,rn imgUrl: imgurl,rn trigger: function (res) ,rn complete: function (res) alert(JSON.stringify(res)); ,rn success: function (res) alert('已分享'); ,rn cancel: function (res) alert('已取消'); ,rn fail: function (res) alert(JSON.stringify(res)); rn );rn wx.onMenuShareAppMessage(shareData);rn wx.onMenuShareTimeline(shareData);rn wx.onMenuShareQQ(shareData);rn );rnrn // 失败监听rn wx.error(function (res) alert(res.errMsg); );rnrn[/code]rnrn内心已然是崩溃的了。。求大神协助。。
Invalid header signature
<%nresponse.setContentType("applicationnd.ms-excel");nresponse.setHeader("Content-Disposition","attachment;filename=WIPMaintenance.xls");n%>n这样导出excel后用poi读取excel 总是报nInvalid header signature; read 0x0A0D0A0D0A0D0A0D, expected 0xE11AB1A1E011CFD0 这个错误肿么回事..
微信分享测试号可以,正式公众号报签名错误invalid signature
首先,确定的是:测试号可以那就代表后台的代码是没有问题的 先说我的错误,我的页面是模板转的h5页面,放在a.com域名下,然后签名的后台是tomcat,指向的是b.com。 我的第一个错误是将微信公众号的js安全域名填写的是b.com,我以为js安全域名放的是后台域名,但以为错了,应该放你分享的当前页面所在的域名,那么肯定 我页面是放在a.com,而我应该填写a.com。 第二个错误是设置的白名单...
关于微信分享wx.config配置时遇到invalid signature错误的解决办法
关于微信分享wx.config配置时遇到invalid signature错误的解决办法 上个礼拜要开发一个包含微信分享、获取用户openid以及获取用户是否关注公众号的功能,因为是第一次开发,遇到了很多问题。其中一个就是invalid signature错误。然而我万万没想到,原因竟然是没有配JSSDK的接口安全域名!!!(顺便提醒一句,要使用wx.config需在页面引用jweixin-1.4...
微信分享JSSDK-invalid signature签名错误的解决方案
在做微信分享功能时,开始时以一直报:invalid signature,通过官方给出的建议排查,全都没有问题:官方排查建议:.invalid signature签名错误。建议按如下顺序检查:1.确认签名算法正确,可用http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=jsapisign 页面工具进行校验。2.确认config中nonceStr(js中驼峰...
java微信分享config:invalid signature,自定义右上角菜单(只保留分享给好友和朋友圈)
微信提供的API位置:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141115&token=&lang=zh_CN 先照着文档复制: JSSDK使用步骤 步骤一:绑定域名 先登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”。 备注:登录后可在“开发者中心”查看对应的接口
android微信分享之视频、URL地址、表情分享
android微信分享之视频、URL地址、表情分享 1、视频分享 1、创建WXVideoObject对象,用于指向视频URL WXVideoObject videoObject = new WXVideoObject(); // 2、设置视频url videoObject.videoUrl = "http://v.youku.com/v_s
Invalid header signature POI的解决方案
NULL 博文链接:https://universes.iteye.com/blog/854485
invalid signature签名错误如何解决
最近在进行微信公众号开发,微信分享签名的时候,时灵时不灵。通过微信debug查看,发现不灵的时候报invalid signature错误,在网上查了各种资料,准备进行问题的排查。...
分享当前页面
分享当前页面到微信朋友圈QQ,微博等地方
返回当前页面得url
document.write(document.referrer)
获取当前页面 URL
这个 PHP 片段可以帮助你让用户登录后直接跳转到之前浏览的页面 function current_url() { $url = "http://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; $validURL = str_replace("&", "&", $url); return validURL; }
获得当前页面URL
如何获得页面的url格式如下的URLrnhttp://www.laidown.com:8000/index-3rn以下函数不能获得到rn
微信JS-SDK分享出去,打开报"errMsg":"config:invalid signature
debug模式下 我用a账号成功分享出去,然后b账号打开分享的地址,b这边就爆 "errMsg":"config:invalid signature rn
调用微信公众平台接口,congig一直报错invalid signature
通过网址微信公众平台接口调试工获取access_token,access_token在7200后会过期,之后具体步骤参考官方文档https://mp.weixin.qq.com/wiki?t=resource/res_main&amp;id=mp1421141115。 全部配置完后在公众号上测试时一直报错invalid signature,看完文档中的附录五后,在微信 JS 接口签名校验工具中...
vue cli单页模式下偶尔报错 invalid signature 的错误
最近遇到一个需求是调用jssdk进行语音录制的功能,功能已经开发好了,只是经常偶然性的config会报报错,大部分是报invalid signature的错误,这个错误不是必现的,只是经常性地出现.后来发现了原因. 原因是使用了vue-router里面的history模式,这种模式下的url是不断变化的,而jssdk的在每一次url变化...
AndroidStudio报错Error:Cause: invalid LOC header (bad signature)
AndroidStudio导入项目,运行失败,同步 ,报错Error:Cause: invalid LOC header (bad signature)rn如下图:rn[img=https://img-bbs.csdn.net/upload/201703/30/1490856417_741351.png][/img]rnrn是gradle没配置好,还是其他什么原因?
微信支付页面监听错误事件 出现'invalid signature'
wx.error(function (res) n if(res.errMsg.indexOf("invalid signature") > 0 )n n alert("无效的签名,需要更新");n n elsealert(res.errMsg);n );n 在支付页面弹出错误提示:无效的签名,需要更新,求大神告知错误原因
spring的事务配置是必须的吗
今天跟人聊天时,说到了spring的事务。rn他说要是不配事务,在增删改的时候,在当前运行的项目时,可以看到效果的。rn就是说,我的增删改,在页面中可以看到。rn但是,进入到数据库里查看,就看不到增删改的数据。rn如果把tomcat停掉,数据库就更新了。rn所以,要在spring的配置文件里,写上事务。。rn想问问:rn[size=24px]spring,一定要配置事务吗?还是可选的?rn如果是一定要的,为什么它不直接默认提交事务呢?[/size]像Hibernate中,session一关自动提交事务一样。
页面浮动当前Url二维码
右下角浮动 二维码//函数 //config.width 二维宽度 //config.height 二维高度 //maxScreen 当屏幕宽度小于这个值时 不显示 二维码。 function qrcodeFloat(config){ if(config==null){config={};} if(config.width==null){config.width=100;conf
PHP获取当前页面URL
重点内容 以下函数可以获取当前页面的URL,不管是http还是https。代码如下:function curPageURL() { $pageURL = 'http'; if (!empty($_SERVER['HTTPS'])) {$pageURL .= "s";} $pageURL .= "://"; if ($_SERVER["SERVER_POR
如何获取当前页面URL
当用户访问某一页面(这个页面需要登陆后才能访问到)rn跳转到登陆页 rn登陆后自动跳转到 刚才访问的页rnrnrn如何记录用户登陆前访问的页
jQuery获取当前页面url
jQuery获取当前页面url,我们可以通过语法 $(location).attr(“href”)来实现。
移动端微信分享--微信在分享
nativeShare.js封装 /* * H5页面,客户端、微信分享组件 */ +function ($) { "use strict"; window.NativeShare = function(shareOptions){ this.oShareOption = $.extend(NativeShare.oShareOption, shareOptions); ...
微信分享配置
var obj = new Object(); obj.processData = function() {     var tit=$(&quot;title&quot;).html();     var des=$(&quot;#description&quot;).attr(&quot;content&quot;);     var url=window.location.href;     obj.share(tit,des,url); }; ob...
shareSDK分享微信分享不了
微信分享不了: 1、测试没有打包(用keystroke打包apk) 2、打包的keystore跟微信开放平台上面的不一致, 导致MD5码不一致(微信开放平台填写的是MD5,ps: 填写到微信开放平台 然后把MD5中的 大写字母改成小写字母 冒号去掉) 3、分享参数错误(微信有分享类型的详情参考:http://wiki.mob.com/%e4%b8%8d%e5%90%8c%e5%b9%b3%e
微信分享的相关技术分享
a.官网创建应用,并生成app_Id 和秘钥 b.填写包名和签名(签名可以用官方的工具去测试验证)特别提醒,签名可以在审核通过后修改 且签名填写需要小写字母并去掉直接的冒号 c.添加分享代码在Android 中,native 和 egret (白鹭引擎直接通讯) 大概分为分享文字 分享图片 分享音乐 分享视频等
微信分享(分享结果状态)
if([resp isKindOfClass:[SendMessageToWXResp class]])     {         NSString *strTitle =  @"提示";         switch (resp.errCode) {             case WXSuccess:             {             strMsg = @
微信分享,qq分享没反应
点击微信,qq分享(qq分享一般都用appID),没有反应的时候,一般要检查key是否正确,应用签名是否对了。  点击微信分享,有些机器可以分享,有些机器不可以,比如lg的手机,点击微信分享没一点反应,应该要检查分享的图片是否超过32kb,微信分享图片不能超过32kb qq分享,如果appId正确,但是多了空格的情况下,有些手机是分享成功的,有些手机分享不成功,比如三星,红米,就不能成功,此时
微信分享打不开分享界面
首先,微信分享只能在release包分享成功,debug包是不可以的。其次,微信的初始化和注册步骤也不能忘记。还有创建WXEntryActivity。以上步骤属于基本步骤,这里不做过多解释。这里介绍一个比较奇葩也是比较坑的地方。那就是即使你上面所有的步骤都做对了,但是还是无法分享成功的情况。希望能帮到大家。 当时做项目的时候是从微信官方API文档里面拿的demo,结果发现demo都不能用。被坑了
相关热词 c++和c#哪个就业率高 c# 批量动态创建控件 c# 模块和程序集的区别 c# gmap 截图 c# 验证码图片生成类 c# 再次尝试 连接失败 c#开发编写规范 c# 压缩图片好麻烦 c#计算数组中的平均值 c#获取路由参数