Distributions
› Ubuntu
› Fedora
› CentOS
中文资源站
› 网易开源镜像站
chackchackGO
V2EX  ›  Linux

Linux 多线程下载, 设定了 user-agent 依然被 403.

  •  
  •   chackchackGO · Jan 10, 2024 · 3207 views
    This topic created in 1028 days ago, the information mentioned may be changed or developed.

    在下载 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 replies  •  2024-08-11 11:34:14 +08:00
    LLaMA2
    LLaMA2
    Jan 10, 2024
    1
    缺少必要的 header

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

    有哪些 header ,统统补上
    busier
    busier
    Jan 10, 2024 via Android
    2
    万一人家验了 cookies 呢
    chackchackGO
    chackchackGO
    OP
    Jan 10, 2024
    3
    @busier 我都用 idm 了, 还有可能验证 cookie 吗?
    busier
    busier
    Jan 10, 2024 via Android❤️1
    4
    集成到浏览器的下载工具,是会带上浏览器 cookies 进行请求的。
    chackchackGO
    chackchackGO
    OP
    Jan 10, 2024
    5
    @LLaMA2 请问怎么捕获下载时的 http request 方便?
    dev tools 似乎没有捕获到.
    bluehr
    bluehr
    Jan 10, 2024
    6
    @chackchackGO 为啥不可能,很早之前的百度云用 IDM 下载就得设置 cookie
    chackchackGO
    chackchackGO
    OP
    Jan 10, 2024
    7
    @bluehr 学习了 谢谢.
    @busier
    busier
    busier
    Jan 10, 2024 via Android
    8
    还有 referer 有的要验
    LLaMA2
    LLaMA2
    Jan 10, 2024❤️1
    9
    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
    chackchackGO
    OP
    Jan 10, 2024
    10
    @LLaMA2
    @bluehr
    @busier
    为了捕获下载时的 http request, 我走了个 burp suite 的代理.
    然后在浏览器上被弹 403 forbidden 了.

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

    下载个国内资源好难.
    chackchackGO
    chackchackGO
    OP
    Jan 10, 2024
    11
    @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", "Chromium";v="120", "Microsoft Edge";v="120"' \
    -H 'sec-ch-ua-platform: "Linux"'
    ```
    bigtear
    bigtear
    Jan 10, 2024
    12
    你的方法一开始就错了,直接 hosts 改到不限速的服务器下载 rom 就行了
    ```
    bigota.d.miui.com: 123.6.13.6
    hugeota.d.miui.com: 123.6.13.6
    ```
    bigtear
    bigtear
    Jan 10, 2024
    13
    不好意思,上个月下载 rom 的时候这个方法还有效,现在去看了下怎么下载 rom 直接 403 了,太狗了吧,下载的还是最新的 rom 不是旧版的...
    chackchackGO
    chackchackGO
    OP
    Jan 10, 2024❤️1
    14
    @bigtear 那我在这顺便吐槽一下,我接着遇到了我的 mi 设备,在 fastboot mode 下,usb 口不工作。
    真正意义上的不工作,插上任何系统的设备都无法在设备列表里检测到。(设备都没有检测到所以更谈不上驱动问题了)。

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

    用 android studio 提供的驱动就修复了.
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   5250 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 44ms · UTC 06:11 · PVG 14:11 · LAX 22:11 · JFK 01:11
    ♥ Do have faith in what you're doing.