Linux 多线程下载, 设定了 user-agent 依然被 403. - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
chackchackGO
V2EX    Linux

Linux 多线程下载, 设定了 user-agent 依然被 403.
  •  
  •   chackchackGO 2024-01-10 11:05:08 +08:00 2058 次点击

    这是一个创建于 638 天前的主题,其中的信息可能已经有所发展或是发生改变。

    在下载 miuirom (一个线程限制了 50KBps 左右).
    尝试了 windows 的 idm,最大只支持 32 线程下载.

    于是尝试用 linux 下的 axel .
    调节了线程数, 调节了 --no-proxy, 从浏览器里 copy 了一个 user-agent.
    全都立刻被告知 403 forbidden.

    我是哪里做的不对了?

     axel -a -n 128 \ --user-agent="Mozilla/5.0 (Windows NT 6.1; Trident/7.0; rv:11.0) like Gecko" --no-proxy \ "https://bigota.d.miui.com/V14.0.8.0.TKXEUXM/miui_NABUEEAGlobal_V14.0.8.0.TKXEUXM_13889f8121_13.0.zip" 
    22 条回复    2024-08-11 11:34:14 +08:00
    LLaMA2
        1
    LLaMA2  
       2024-01-10 11:08:40 +08:00
    缺少必要的 header

    具体你得看你可以下载的时候

    有哪些 header ,统统补上
    busier
        2
    busier  
       2024-01-10 11:10:20 +08:00 via Android
    万一人家验了 cookies 呢
    chackchackGO
        3
    chackchackGO  
    OP
       2024-01-10 11:11:14 +08:00
    @busier 我都用 idm 了, 还有可能验证 cookie 吗?
    busier
        4
    busier  
       2024-01-10 11:15:56 +08:00 via Android   1
    集成到浏览器的下载工具,是会带上浏览器 cookies 进行请求的。
    chackchackGO
        5
    chackchackGO  
    OP
       2024-01-10 11:16:33 +08:00
    @LLaMA2 请问怎么捕获下载时的 http request 方便?
    dev tools 似乎没有捕获到.
    bluehr
        6
    bluehr  
       2024-01-10 11:16:58 +08:00
    @chackchackGO 为啥不可能,很早之前的百度云用 IDM 下载就得设置 cookie
    chackchackGO
        7
    chackchackGO  
    OP
       2024-01-10 11:17:45 +08:00
    @bluehr 学习了 谢谢.
    @busier
    busier
        8
    busier  
       2024-01-10 11:20:55 +08:00 via Android
    还有 referer 有的要验
    LLaMA2
        9
    LLaMA2  
       2024-01-10 11:27:02 +08:00   1
    curl 'https://bigota.d.miui.com/V14.0.8.0.TKXEUXM/miui_NABUEEAGlobal_V14.0.8.0.TKXEUXM_13889f8121_13.0.zip' \
    -H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7' \
    -H 'Accept-Language: zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6' \
    -H 'Connection: keep-alive' \
    -H 'DNT: 1' \
    -H 'Referer: https://mirom.ezbox.idv.tw/en/phone/nabu/' \
    -H 'Sec-Fetch-Dest: document' \
    -H 'Sec-Fetch-Mode: navigate' \
    -H 'Sec-Fetch-Site: cross-site' \
    -H 'Sec-Fetch-User: ?1' \
    -H 'Upgrade-Insecure-Requests: 1' \
    -H 'User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 Edg/120.0.0.0' \
    -H 'sec-ch-ua: "Not_A Brand";v="8", "Chromium";v="120", "Microsoft Edge";v="120"' \
    -H 'sec-ch-ua-mobile: ?0' \
    -H 'sec-ch-ua-platform: "Linux"' \
    --compressed \
    -o 123.zip
    chackchackGO
        10
    chackchackGO  
    OP
       2024-01-10 11:28:29 +08:00
    @LLaMA2
    @bluehr
    @busier
    为了捕获下载时的 http request, 我走了个 burp suite 的代理.
    然后在浏览器上被弹 403 forbidden 了.

    怎么只是经过了个本地代理还会被 forbidden 呢, burp 改了 request 内容吗?

    下载个国内资源好难.
    chackchackGO
        11
    chackchackGO  
    OP
       2024-01-10 11:33:17 +08:00
    @LLaMA2 感谢.
    axel 不知道为什么限制 9 个 header.
    我去掉了一些感觉可能不需要的 header 勉强能下载了
    ```
    axel -a -n 256 --no-proxy 'https://bigota.d.miui.com/V14.0.8.0.TKXEUXM/miui_NABUEEAGlobal_V14.0.8.0.TKXEUXM_13889f8121_13.0.zip' \
    -H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7' \
    -H 'Connection: keep-alive' \
    -H 'Referer: https://mirom.ezbox.idv.tw/en/phone/nabu/' \
    -H 'Sec-Fetch-Dest: document' \
    -H 'Sec-Fetch-Site: cross-site' \
    -H 'Sec-Fetch-User: ?1' \
    -H 'User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 Edg/120.0.0.0' \
    -H 'sec-ch-ua: "Not_A Brand";v="8", "Chromum";v="120", "Microsoft Edge";v="120"' \
    -H 'sec-ch-ua-platform: "Linux"'
    ```
    bigtear
        12
    bigtear  
       2024-01-10 13:18:12 +08:00
    你的方法一开始就错了,直接 hosts 改到不限速的服务器下载 rom 就行了
    ```
    bigota.d.miui.com: 123.6.13.6
    hugeota.d.miui.com: 123.6.13.6
    ```
    bigtear
        13
    bigtear  
       2024-01-10 13:23:48 +08:00
    不好意思,上个月下载 rom 的时候这个方法还有效,现在去看了下怎么下载 rom 直接 403 了,太狗了吧,下载的还是最新的 rom 不是旧版的...
    chackchackGO
        14
    chackchackGO  
    OP
       2024-01-10 15:11:23 +08:00   1
    @bigtear 那我在这顺便吐槽一下,我接着遇到了我的 mi 设备,在 fastboot mode 下,usb 口不工作。
    真正意义上的不工作,插上任何系统的设备都无法在设备列表里检测到。(设备都没有检测到所以更谈不上驱动问题了)。

    已经放弃了,以后买国际品牌好了。
    ceeeeeeeeeeeeeeb
        15
    ceeeeeeeeeeeeeeb  
       2024-01-10 18:22:27 +08:00
    很多自定义头 一个不要落下
    dnslint
        16
    dnslint  
       2024-01-10 21:31:55 +08:00
    idm 的插件会做这件事情,另外 你的手机可能是 usb2.0
    Beats
        17
    Beats  
       2024-01-10 21:39:39 +08:00
    全部带上,鬼知道人家校验了啥,有的还校验时间戳呢
    flynaj
        18
    flynaj  
       2024-01-12 10:42:16 +08:00 via Android
    chackchackGO
        19
    chackchackGO  
    OP
       2024-01-12 13:52:08 +08:00
    @flynaj
    @dnslint
    小米系列产品基本可以默认是 usb2.0.
    能稍微讲解一下这和“唯独 fastboot 下,设备从根本上无法发现”有什么关联吗?
    flynaj
        20
    flynaj  
       2024-01-12 23:03:37 +08:00
    @chackchackGO #19 这个是补你的系统。你电脑上的 usb3.0 接口。小米手机为了私有的快充协议,全部只有 usb2.0.
    chackchackGO
        21
    chackchackGO  
    OP
       2024-01-13 11:55:09 +08:00
    @flynaj 没用.
    我的情况是设备在 fastboot 模式下, 从底层都无法检测到.
    用 linux 也是, 连接电脑 usb2 口后, 系统没有检测到任何设备连接.
    要不是没有工具, 我觉得我甚至可以验证在 fastboot 下连接 usb 口可能连一点电信号都没有.
    chackchackGO
        22
    chackchackGO  
    OP
       2024-08-11 11:34:14 +08:00
    @chackchackGO
    应该是驱动问题, 错信了小米官方提供的 usb 驱动.
    尝试了很多个简中 web 提供的驱动都是这个问题.

    用 android studio 提供的驱动就修复了.
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     853 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 21:57 PVG 05:57 LAX 14:57 JFK 17:57
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86