V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
godall
V2EX  ›  程序员

如何模拟微信浏览器阅读文章

  •  
  •   godall · 2021-04-21 15:21:59 +08:00 · 2272 次点击
    这是一个创建于 1297 天前的主题,其中的信息可能已经有所发展或是发生改变。
    不是简单模拟微信浏览器,这个设置一下 UA 就可以了,而是很多网站通过微信会员收费,只有通过微信公众号入口进入访问才能显示正确内容,请问一下这个技术实现细节?如何能够欺骗网站?

    我想到的:
    1 )微信 UA,这个容易模仿
    2 ) http header:refer 网站,这个也可以吧
    3 )获取订阅者 openid,这个假如我知道 openid,能否欺骗?
    8 条回复    2021-04-22 13:46:07 +08:00
    yuyu2140
        1
    yuyu2140  
       2021-04-21 15:44:14 +08:00
    具体网站具体分析,有的网站 Cookie 里放置 openid 即可,但是不仅限于 Cookie 或者 openid,所以得分析
    timeyoyo
        2
    timeyoyo  
       2021-04-21 16:08:06 +08:00
    提供一种思路:编写 APP 脚本,然后使用 AutoJS.apk 模拟运行
    Vegetable
        3
    Vegetable  
       2021-04-21 16:23:48 +08:00
    微信是不推荐开发者使用 openid 识别用户的,open_id 往往保存在服务端。仅有比较大条的开发者才会把 openid 拿来直接用。

    h5 微信登录时获取到的 code 是通过微信浏览器注入的 js 拿到的。实际上只有登录那一步比较困难。

    微信浏览器访问微信登录链接-获取到 code-服务器用 code 换取 openid-登录成功。这部分很难办,这个 code 必须是注入了微信 js 的浏览器才能做。
    后边就和微信没关系了,不存在什么模拟,直接用不同的 oa 应该也没事儿,你只要知道对应网站怎么鉴权就行。
    wzzzx
        4
    wzzzx  
       2021-04-21 16:23:48 +08:00
    不同的网站技术估计都不一样。抓个包看看
    Vegetable
        5
    Vegetable  
       2021-04-21 16:24:24 +08:00
    *UA
    AoEiuV020
        6
    AoEiuV020  
       2021-04-21 16:32:07 +08:00
    我猜,是有和浏览器直接交互交换数据甚至获取 token 之类访问微信服务器,普通浏览器没法伪造这部分微信提供的动态数据,
    我感觉 ua 解决不了的就可以放弃了,
    reiji
        7
    reiji  
       2021-04-22 09:15:54 +08:00
    https://juejin.cn/post/6844904082314887182
    之前看到一篇文章说可以通过调整启动参数来开启微信浏览器的调试工具的,也许这个可以提供个新的思路?
    risky
        8
    risky  
       2021-04-22 13:46:07 +08:00
    估计不行, #3 提到的 code 在不同的公众平台主体下解出来的 openid 是不一样的, 只要是存在服务端的, 你就没这个可能了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1099 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 18:58 · PVG 02:58 · LAX 10:58 · JFK 13:58
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.