如何解决“请在微信客户端打开链接”

如何解决“请在微信客户端打开链接”如题,这个问题确实很苦恼,写下这篇博客记录下自己的问题。

大家好,又见面了,我是你们的朋友全栈君。

如题,这个问题确实很苦恼,写下这篇博客记录下自己的问题。


<!DOCTYPE html>
<html>
    <head>
        <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=0">
    </head>
    <body>
        <script type="text/javascript"> var ua = navigator.userAgent.toLowerCase(); var isWeixin = ua.indexOf('micromessenger') != -1; var isAndroid = ua.indexOf('android') != -1; var isIos = (ua.indexOf('iphone') != -1) || (ua.indexOf('ipad') != -1); if (!isWeixin) { document.head.innerHTML = '<title>抱歉,出错了</title><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=0"><link rel="stylesheet" type="text/css" href="https://res.wx.qq.com/open/libs/weui/0.4.1/weui.css">'; document.body.innerHTML = '<div class="weui_msg"><div class="weui_icon_area"><i class="weui_icon_info weui_icon_msg"></i></div><div class="weui_text_area"><h4 class="weui_msg_title">请在微信客户端打开链接</h4></div></div>'; } </script>
    </body>
</html>

这是用其他网页访问微信链接的错误代码,关于

var isWeixin = ua.indexOf('micromessenger') != -1;

这句代码,应该是只要在请求头的user-agent字段中找到了’micromessenger’即可认为是微信的内置浏览器,但在抓包之后的更改后发现无效,返回的响应头状态码为302,应该是失败了.根据

var isAndroid = ua.indexOf('android') != -1;
var isIos = (ua.indexOf('iphone') != -1) || (ua.indexOf('ipad') != -1);

这两句代码估计,应该还要在请求头里加上其他的一些字段,但由于个人能力的原因,就不知道该怎么加,该问题暂时搁置.
附:模拟UA这条路估计已经无效了,尝试过模拟多次UA均已经失效.不过还是学到了一点东西.chrome浏览器f12点右上角的三个小点图标下拉more tools里的NetWork conditions 即可修改请求头

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/135324.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 独热编码(One-Hot Encoding)介绍及实现

    独热编码(One-Hot Encoding)介绍及实现一、介绍One-Hot编码,又称为一位有效编码,主要是采用位状态寄存器来对个状态进行编码,每个状态都由他独立的寄存器位,并且在任意时候只有一位有效。独热编码是利用0和1表示一些参数,使用N位状态寄存器来对N个状态进行编码。例如:参考数字手写体识别中:如数字字体识别0~9中,6的独热编码为0000001000自然状态码为:000,001,010,011,100,101…

    2025年8月20日
    5
  • Android 程序包org.apache.http不存在,解决方式

    Android 程序包org.apache.http不存在,解决方式

    2021年10月1日
    60
  • 贴片电阻电容命名及封装[通俗易懂]

    贴片电阻电容命名及封装[通俗易懂]常见的标准零件件主要有以下几种:电阻(R)、排阻(RA或RN)、电感(L)、陶瓷电容(C)、排容(CP)、钽质电容(C)、二极管(D)、晶体管(Q)。一、零件规格:零件规格即零件的外形尺寸,SMT(表面封装技术)发展至今,业界已经形成了一个标准零件系列,各家零件供货商皆是按这一标准制造。标准零件之尺寸规格有英制与公制两种表示方法,参照下面的常见贴片电阻尺寸表(1inch=25.4m…

    2022年8月21日
    8
  • winform去掉右上角关闭按钮

    一种方法是可以在窗体的属性面板将窗体的ControlBox属性设置为false,或者在窗体的构造函数中这样写:1publicForm1()23{45InitializeComponen

    2021年12月21日
    46
  • @scheduled注解配置时间(spring定时器注解)

    开发相关链接:https://blog.csdn.net/xubenxismile/article/details/96480780@Scheduled注解的使用这里不详细说明,直接对8个参数进行讲解。参数详解1、cron该参数接收一个cron表达式,cron表达式是一个字符串,字符串以5或6个空格隔开,分开共6或7个域,每一个域代表一个含义。cron表达式语法[秒][分…

    2022年4月18日
    39
  • php内置函数分析之str_pad()

    php内置函数分析之str_pad()

    2021年11月6日
    170

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号