V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
laodao
V2EX  ›  问与答

某些微信网页的 [请在微信客户端打开链接。] 是什么原理?

  •  
  •   laodao · 2016-04-23 21:29:52 +08:00 · 14504 次点击
    这是一个创建于 3165 天前的主题,其中的信息可能已经有所发展或是发生改变。
    很好奇这种页面的检测原理是什么?修改useragent这些并不行。
    有没有办法绕过在电脑页面打开?
    10 条回复    2020-12-08 14:32:02 +08:00
    kslr
        1
    kslr  
       2016-04-23 21:31:25 +08:00
    要求授权了吧,这部分是跳转到微信调用微信内部接口的。
    laodao
        2
    laodao  
    OP
       2016-04-23 21:33:59 +08:00
    @kslr 恩,有些第三大放的是要求授权,还有就是微信自己的一些页面。主要是想搞清楚具体原理,看有办法绕过去么。
    kslr
        3
    kslr  
       2016-04-23 21:40:10 +08:00
    @laodao 从 URL 找到跳转地址就行了
    lxrmido
        4
    lxrmido  
       2016-04-23 21:42:17 +08:00
    微信 webview 有 WeixinJSBridgeReady 事件
    lecher
        5
    lecher  
       2016-04-23 21:47:55 +08:00   ❤️ 1
    没有办法绕开,微信内置的浏览器嵌入了微信的部分自定义 Javascript 接口,提供微信用户的一些个人信息,昵称、地理位置这类的信息,只有在微信的浏览器内它的 JSSDK 才能正常工作,所以如果非微信的浏览器打开,检测不到对应的功能和信息。
    lbp0200
        6
    lbp0200  
       2016-04-23 22:43:23 +08:00
    @lecher 这块貌似也好做,我记得.net 和 android 上都有些相关实现, js 调用 java 代码, html5 跨平台开发也是这么实现的。
    liqingcan
        7
    liqingcan  
       2016-04-23 23:47:15 +08:00
    我最近也碰到这个问题,想找到京享街的分享商品的那些有关接口来模拟,不过在电脑上访问总是提示微信打开,应该是像楼上说,需要微信提供用户的个人信息什么鬼的吧。
    glume
        8
    glume  
       2016-04-24 00:03:15 +08:00
    呃,我还对微信关注某个公众号就自动 wifi 连上不用输密码感到很新奇。
    TakanashiAzusa
        9
    TakanashiAzusa  
       2016-04-24 00:21:03 +08:00 via Android
    因为要过微信的 openid 验证。并不是微信内置 js 验证,那个无所谓的,顶多 pc 上用不了某些功能而已。
    绕过很简单,手动填 cookies 就好。
    之前我写过简单的教程:
    http://chitanda.me/2015/06/29/debug-wechat-website-in-pc/
    weixingna
        10
    weixingna  
       2020-12-08 14:32:02 +08:00
    @TakanashiAzusa 但是这样每次 cookie 失效就得手动获取一次了呀
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1017 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 18:27 · PVG 02:27 · LAX 10:27 · JFK 13:27
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.