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

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

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

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


<!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)
上一篇 2022年5月3日 下午4:00
下一篇 2022年5月3日 下午4:00


相关推荐

  • futex的使用_fuel开关

    futex的使用_fuel开关futex_t::wake实际是一个计数器,防止在调用futex_wait函数前调用futex_wake而出现的死等现象,函数futex只在满足(*addr1==val)时等待。futex_wait函数与futex_wake函数配合使用,前者等待后者唤醒。futex_lock函数与futex_unlock函数配合使用,前者加锁后者解锁。应该是对数据加锁,而不应该对代码

    2026年2月7日
    4
  • 关于excel的vba数组

    关于excel的vba数组转自 微点阅读 https www weidianyuedu com 什么是 vba 数组 先让我们从字面来看一下它的意思 数 数据 组 组合 从字面很直观地看出 数组就是 N 个数据的组合 如果某个变量只包含一个数据 就不是数组 只能是一个普通的变量 有人把数组比喻为一串用线穿起来的辣椒 也有人比喻为班级里一群学生 如果你当过兵 每天训练前肯定会先做队伍集合 如果这个队伍是一个班 班长肯定会叫全体士兵先排队点名 每个士兵会从头至尾进行报数 1 2 3 这样最后一名士兵所报的数就是当前这

    2026年3月18日
    2
  • django开发从入门到实战pdf_Helloworld是什么意思

    django开发从入门到实战pdf_Helloworld是什么意思本系列教程是讲述Django框架的,如果你正在看本教程那么你应该对Django已经有了初步的了解,简而言之Django就是一个基于Python的Web开发框架。在学习Django之前最好有Python基础,如果没有Python基础但是有别的开发经验(例如Java、.NET)学习Django也是非常容易的。

    2025年10月3日
    4
  • 在微信公众号里「召唤」DeepSeek大模型?手把手教你用腾讯元器玩转AI交互

    在微信公众号里「召唤」DeepSeek大模型?手把手教你用腾讯元器玩转AI交互

    2026年3月12日
    2
  • 黑客手册中文版_黑客大追踪PDF

    黑客手册中文版_黑客大追踪PDF非安全黑客手册0911PDF电子书目录:新闻时评2颠覆杀毒市场,360强势插入!策划7功夫熊猫Hacker系漫游记4赤龙记得当初阿宝接触网络时,总是喜欢聊天,电脑只要开着,总会发现右下角有一个小企鹅。不知道何时,这个企鹅出现的几率比以往少了很多,但偶尔还是会出来冒个泡。冒泡…

    2025年12月14日
    5
  • String数组的创建

    String数组的创建string数组的定义有三种写法:String[]arr=newString[10];//创建一个长度为10的String类型数组。Stringarr[]=newString[10];Stringarr[]={“张三”,”李四”};前面两种写法是一样的,可以互换,但是建议使用前者String[]arr因为java是强类型语言,声明…

    2022年6月7日
    119

发表回复

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

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