解析:366API如何解决微信扫描二维码无法下载APK 的问题
需求分析
现在微信分享二维码进行推广的方式已经成为大家常用且便捷的方法了。但是经常会有分享出去的链接或二维码都无法正常打开指定页面,提示“已停止访问网页”,故导致无法下载app。
这其实是微信内置浏览器自动屏蔽了含apk或ios文件下载的链接,不允许直接通过微信下载安装文件。如果域名访问次数过多还有可能被封主域名,主域名一旦被封,所有的子域名就全军覆没了。
很多人不知道碰到上述问题到底要怎么办?其实很简单,只要对app的php代码进行相关的处理就可以了,实现微信内直接下载app的功能。下面就为大家讲解一下如何实现此功能。
所以针对这个问题,特写此篇文章分享我们公司之前的处理方案。首先如果我们没有专业的技术团队,我们可以去找一家提供个该技术的团队合作,我们之前一直用的是366AP平台的接口,效果还不错,很稳定。然后如果大家有自己的技术团队,是可以自行编写跳转程序的,参考案例见下文。
一、首先我们说说366API平台的使用方法:
1、使用浏览器打开我们需要用到的 366API
2、复制链接粘贴进api工具框中,点击生成跳转短链接和二维码
3、复制短连接和二维码前往微信中打开链接或扫码即可。
二、其次我们说说如何构建微信跳转浏览器的源码:
1、ios端微信加遮罩提示前往浏览器打开的代码
<style type="text/css"> .mask { position: absolute; top: 0px; filter: alpha(opacity=60); background-color: #777; z-index: 1002; left: 0px; opacity:0.5; -moz-opacity:0.5; }
</style>
<pre class="html" name="code"><script type="text/javascript"> //兼容火狐、IE8 //显示遮罩层 function showMask(){ $("#mask").css("height",$(document).height()); $("#mask").css("width",$(document).width()); $("#mask").show(); }//隐藏遮罩层function hideMask(){ $("#mask").hide(); }</script>
<div id="mask" class="mask"></div>
<a href="javascript:;" onclick="showMask()" >点我显示遮罩层</a><br />
2、Android端微信自动唤醒默认浏览器打开网页链接的代码
<?php
// 统一调用微信白名单接口:https://api.366api.cn/mjgj/link/GetOpenLink?callback=getOpenLink&rurl=https://dc2.jd.com/auto.php?service=transfer&type=pms&to=(这里是拼接自己的内容地址比如http://mjbbs.jd.com/data/attachment/forum/201806/08/173526pb2zpjzzooo2ofze.jpg)
if($_GET['t']){
// include("admin/config.php");
// include("admin/function.php");
$code = $_GET['t'];
$info = query ( "jump_logs", "where code='" . $code . "'" );
if($info['code'] == ''){echo '跳转失败';exit(0);
}
if($info['state'] == '1'){
if($info['count'] >= $info['num']){echo '跳转失败';exit(0);
}
$time = strtotime($info['time']);if(time() > $time){echo '跳转失败';exit;}
}else{echo '跳转失败';exit;
}
if($info['www_url'] == ''){echo '请先配置落地页';exit;
}else{$w_url_code = $info['rl'];
}
?>
<?php
function get_ticket($code){//初始化$ch = curl_init();curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); // https请求 不验证证书和hosts$headers = array();$headers[] = 'User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 11_1_2 like Mac OS X; zh-CN) AppleWebKit/537.51.1 (KHTML, like Gecko) Mobile/15B202 UCBrowser/11.7.7.1031 Mobile AliApp(TUnionSDK/0.1.20)';$headers[] = 'Referer: https://m.mall.qq.com/release/?busid=mxd2&ADTAG=jcp.h5.index.dis';$headers[] = 'Content-Type:application/x-www-form-urlencoded; charset=UTF-8';curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);$content = curl_exec($ch);curl_close($ch);//$arr = json_decode($content,1);//if($arr['success'] == '1'){// $shotCode = $arr['shotCode'];//}else{// $shotCode = '';//}//preg_match('/openlink\":\"(.*?)\"}/',$content,$result);//$url = $result[1];preg_match('/href=\"(.*?)#wechat/',$content,$result);$url = $result[1];return $url;
}$time = time()-$info['ticket_time'];$minute=floor($time/60);query_update ( "jump_logs", "count=count+1". " where code='" . $code . "'" );if($minute >= 59){//如果超过1小时,更新ticket$url = get_ticket($w_url_code);if($url){query_update ( "jump_logs", "ticket_time='".time()."', ticket='" . $url . "' where code='" . $code . "'" );$ticket_url = $url.'#';if(strpos($_SERVER['HTTP_USER_AGENT'], 'baiduboxapp')||strpos($_SERVER['HTTP_USER_AGENT'], 'baiduboxapp')){//安卓百度手机APPecho '<script>window.location.href = "bdbox://utils?action=sendIntent&minver=7.4¶ms=%7b%22intent%22%3a%22'.$url.'%23wechat_redirect%23wechat_redirect%23Intent%3bend%22%7d";</script>';}else{echo '<script>window.location.href = "'.$ticket_url.'";</script>';}}}else{$ticket_url = $info['ticket'].'#';if(strpos($_SERVER['HTTP_USER_AGENT'], 'baiduboxapp')||strpos($_SERVER['HTTP_USER_AGENT'], 'baiduboxapp')){//安卓百度手机APPecho '<script>window.location.href = "bdbox://utils?action=sendIntent&minver=7.4¶ms=%7b%22intent%22%3a%22'.$info['ticket'].'%23wechat_redirect%23wechat_redirect%23Intent%3bend%22%7d";</script>';}else{echo '<script>window.location.href = "'.$ticket_url.'";</script>';}}
}
?>
<!详情可参考:http://www.366api.cn-->
解析:366API如何解决微信扫描二维码无法下载APK 的问题相关推荐
- (4.3.1.11)微信扫描二维码无法下载apk文件解决办法
最近客户网站扫描二维码下载apk的功能不能用了,客户反应扫描二维码后是一片空白,本以为是文件丢失,可是服务器上面文件位置都是正常的,后来才发现是因为腾讯屏蔽掉了外部文件的链接,经过几次不断的尝试,发现 ...
- 微信扫描二维码无法下载文件的解决办法
当开发一个Android app的时候,都是给用户提供一个二维码,毕竟二维码传播与保存都很方便,把二维码指向安装文件的最新地址就可以了.不用每次升级都发给用户一个新的安装包.生成二维码有很多办法,用蒲 ...
- 微信扫描二维码无法下载app如何解决
做微信营销活动或者APK下载推广时候,域名经常被封,如何做到微信中正常使用呢?这就要借助一些工具来实现有效的操作. 之前公司有一个新的APP项目上线,让我们在项目首页做个二维码,然后用户用手机扫一扫就 ...
- 微信扫描二维码实现下载app文件
1.把apk文件上传至服务器,或者后端项目中. 获取下载链接,使用草料二维码生成二维码,选择网址生成二维码. 草料二维码:https://cli.im/url 2.使用微信打开网址时,无法在微信内打开 ...
- 微信扫描二维码无法下载app
做微信营销活动或者APK下载推广时候,域名经常被封,如何做到微信中正常使用呢?这就要借助一些工具来实现有效的操作. 之前公司有一个新的APP项目上线,让我们在项目首页做个二维码,然后用户用手机扫一扫就 ...
- 微信扫描二维码在内置浏览器打不开文件的下载链接怎么办?哪些api接口可以解决...
有哪些api接口可以实现微信扫描二维码在内置浏览器打开文件的下载链接? 经常看到贴吧上有人吐槽微信的检测系统太严格了,动不动就拦截第三方链接.怎么才能解决,怎么才能避免等等一系列的问题.因为平时我也会 ...
- 微信扫描二维码跳转至浏览器打开 jsp
微信扫描二维码总是用默认浏览器打开,无法下载任何东西.怎么办呢? 微信识别到打开为pdf 时,会自动给跳转至浏览器,所以解决方法就是服务器判断请求端为微信时,返回头部添加 Content-type:a ...
- 微信扫描二维码和浏览器扫描二维码 ios和Android 分别进入不用的提示页面
实现微信扫描二维码和浏览器扫描二维码 ios和Android 分别进入不用的提示页面 而进入商城下载该项目 详情地址:gitee.com/DuJiaHui123- 1.创建完之后 替换文件里面的ios ...
- 微信扫描二维码-电脑上网
展视网北京科技有限公司--cuidc 由于 wifi 成为人们生活中不可或缺的一部分,店家 wifi 免费上网的招数也就日益增多. 今天我们介绍一种破解<微信扫描二维码上网>的招数,此招数 ...
最新文章
- CSL-YOLO | 超越Tiny-YOLO V4,全新设计轻量化YOLO模型实现边缘实时检测!!!
- 利用vim查看日志,快速定位问题《转载》
- 一天1个机器学习知识点(五)
- mysql5.6.30源码安装_Centos7.1 for MySQL5.6.30源码安装及多实例配置
- java web汽车商城_基于jsp的汽车销售商城系统
- 写给自己--70年代的程序员
- spss数据预处理步骤_Spss的数据预处理
- oracle数据库技术_创建 pdb数据库
- 图片尺寸怎么修改?分享2种方法快速修改图片尺寸大小
- tcpdump输出内容分析
- 【一文搞懂】FD_SET的使用
- git: Cannot communicate securely with peer: no common encryption algorithm(s)
- 做成事情的3个要素:意愿、能力、资源
- pygame声音和音效
- 千分位、两位小数的展示
- Go实战--golang中使用gRPC和Protobuf实现高性能api(golang/protobuf、google.golang.org/grpc)
- Intellij IDEA如何添加注释并且修改注释样式
- 《不看后悔》超赞 来一份常见 JVM 面试题+“答案”
- 学习日志------手机测试工具,随身调GT
- vgg16_reducedfc.pth
热门文章
- 50TB ExaDrive SSD投入商用,EB级容量闪存系统来日可期
- CVBS转BT656/601,GM7150,国产视频解码芯片
- 深圳市注册新公司的流程
- Vue3.0手脚架搭建
- Cannot add property xxx, object is not extensible
- 雷军伯乐:天才程序员求伯君的退休生活
- python 1到n偶数求和 for结构_计算收入/for循环实现1~100偶数求和
- 如何在字符数组中存储空白字符
- AI正在模仿人类大脑!2021年10篇顶会论文:大脑也在「无监督」学习
- 联想昭阳E47A无线网卡指示灯不亮,搜不到无线信号,解决办法