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

百度网盘网页端怎么启动本地客户端的?

  •  
  •   wkla · 235 天前 · 1184 次点击
    这是一个创建于 235 天前的主题,其中的信息可能已经有所发展或是发生改变。

    在浏览器里启动本地程序,Windows 下注册表里可以自定义协议,然后启动。Ubuntu 据说 ~/.local/share/applications/mimeapps.list 可以自定义协议。但百度网盘似乎不是这么做的。

    Windows 下百度网页控制台会提示 “本地 https 服务调端成功!” ,是走的本地 YunDetectService.exe 后台进程。好像有 localhost.pan.baidu.com 这样的路径,但不知道实现细节。

    Ubuntu 则不会提示 “本地 https 服务调端成功!”,但也会打开本地客户端,不知道是怎么调的。

    最近有浏览器里启用本地程序的需求,有人知道百度网盘这个调用是怎么实现的吗?

    5 条回复    2024-04-02 18:23:30 +08:00
    mcluyu
        2
    mcluyu  
       235 天前
    URL scheme , 这个东西在移动应用上被人熟知, 但他是从 PC web 时代继承来的吧
    wkla
        3
    wkla  
    OP
       235 天前
    Windows 下大概看了一下,前面启动 YunDetectService 是这样的,
    baiduyunguanjia://evoked-download/?browserId={}&seq={}&src_from=wp-download_web_share&src_type=web_sharelink_page

    但是在启动之前,他会尝试链接这个地址,这很神奇
    https://localhost.pan.baidu.com:10000/guanjia?method=getversion&t={时间戳}

    看起来网页和 YunDetectService.exe 是可以直接通过 https://localhost.pan.baidu.com 直接交互的。

    URL Sheme 一般会问你要不要启动,但是这个交互可以不询问你就调起百度网盘。

    Ubuntu 下的 url scheme 是我找错地方了,百度云管家的注册在 ~/.config/mimeapps.list ,不知道是不是火狐的原因,不会问你要不要启动就可以启动。

    虽然需求是解决了,不过我还是想问一下这个 https://localhost.pan.baidu.com 的交互怎么做到的
    Damn
        4
    Damn  
       235 天前
    @wkla 你不会 nslookup 或者 dig 一下?
    如 2 楼所说,你是移动时代的新生代?
    mxT52CRuqR6o5
        5
    mxT52CRuqR6o5  
       235 天前
    localhost.pan.baidu.com ping 出来是 127.0.0.1 ,百度网盘我记得是有个常驻后台
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2830 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 19ms · UTC 14:21 · PVG 22:21 · LAX 06:21 · JFK 09:21
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.