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

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

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

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


<!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)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • 适配器的作用和原理

    适配器的作用和原理设计模式在android中的应用——适配器模式http://www.eoeandroid.com/thread-228482-1-1.html

    2022年5月2日
  • 无线充电器方案(方案选型)

    一文读懂无线充电技术(附方案选型及原理分析)0.背景1.无线供电特点2.无线供电原理及实现方式3.现有解决方案分析4.FAQ及相关测试5.参考资料0.背景现今几乎所有的电子设备,如手机,MP3和笔记本电脑等,进行充电的方式主要是有线电能传输,既一端连接交流电源,另一端连接便携式电子设备充电电池的。这种方式有很多不利的地方,首先频繁的插拔很容易损坏主板接口,另外不…

    2022年4月17日
  • c程序中整形变量只能存放整数实型变量只能存放浮点数_c语言合法的实型常量

    c程序中整形变量只能存放整数实型变量只能存放浮点数_c语言合法的实型常量vb中,以下变量类型1,数字型变量(numeric)2,字符串型变量(string)3,日期型变量(date)4,对象型变量(object)5,变体型变量(variant)这几个vb变量类型中,最最主要的就是前面两个,数字型变量和字符串型变量.意思很简单,数字型可以用来存放数字,字符串型存放文本.下面就来详细介绍这几种变量.1.数字型数字型变量有多种类型,在咱们的vb里,有3中数字数据类型1;整形…

    2022年10月26日
  • DFS(深度优先搜索算法)「建议收藏」

    DFS(深度优先搜索算法)「建议收藏」基本概念深度优先搜索算法(DepthFirstSearch,简称DFS):一种用于遍历或搜索树或图的算法。沿着树的深度遍历树的节点,尽可能深的搜索树的分支。当节点v的所在边都己被探寻过或者在搜寻时结点不满足条件,搜索将回溯到发现节点v的那条边的起始节点。整个进程反复进行直到所有节点都被访问为止。属于盲目搜索,最糟糕的情况算法时间复杂度为O(!n)。算法思想回溯法(探索与回溯法…

    2022年6月18日
  • ElasticSearch快速入门【建议收藏】

    ElasticSearch快速入门【建议收藏】

    2022年2月20日
  • 二进制——减法「建议收藏」

    二进制——减法「建议收藏」二进制的减法分为两种:1.使用硬件减法器运算;2.将减法转换成加法运算。 本文讲述第二种方法。 大家都知道计算机有两种数值类型:1.有符号类型;2.无符号类型。 有符号类型是利用其二进制的最高位来存储正负标志的,所以有符号类型的最大值的绝对值要小于无符号类型,就是因为有符号类型比无符号类型少了一位数据位,大小当然就少一半了,但是两种类型所表示的数值的个数是一

    2022年9月2日

发表回复

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

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