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

316 天前
 chackchackGO

在下载 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"
1520 次点击
所在节点    Linux
22 条回复
LLaMA2
316 天前
缺少必要的 header

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

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

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

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

已经放弃了,以后买国际品牌好了。
ceeeeeeeeeeeeeeb
316 天前
很多自定义头 一个不要落下
dnslint
316 天前
idm 的插件会做这件事情,另外 你的手机可能是 usb2.0
Beats
316 天前
全部带上,鬼知道人家校验了啥,有的还校验时间戳呢
flynaj
314 天前
chackchackGO
314 天前
@flynaj
@dnslint
小米系列产品基本可以默认是 usb2.0.
能稍微讲解一下这和“唯独 fastboot 下,设备从根本上无法发现”有什么关联吗?
flynaj
314 天前
@chackchackGO #19 这个是补你的系统。你电脑上的 usb3.0 接口。小米手机为了私有的快充协议,全部只有 usb2.0.

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1007415

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX