alexhua / Aria2-Explorer

An aria2 download task management extension for chromium based browser
https://www.aria2e.com/
BSD 3-Clause "New" or "Revised" License
789 stars 66 forks source link

使用”下载前询问详细设置“,Cookie出现传递错误,导致OneDrive下载失败。 #44

Closed iErics closed 3 years ago

iErics commented 3 years ago

Describe the bug

可以正确拦截到OneDrive的下载链接,但是下载就变成了authorize文件,同样的链接在浏览器和Matrix却可以正常下载文件

Desktop (please complete the following information):

alexhua commented 3 years ago

试了下没复现你说的问题

MangoWoohoo commented 3 years ago

试了下没复现你说的问题

我也遇到了同样的问题,Win10+Chrome。用于拦截下载的不是本地的aria2c而是调用远端vps搭建的aria2c。参考 https://gwliang.com/2020/05/26/linux-control-download-onedrive-files 发现应该是cookies的问题。我在拦截下载时未提示插件商店介绍内说的“載前詢問附帶Cookies資訊”,不知道是什么原因。

MangoWoohoo commented 3 years ago

试了下没复现你说的问题

我的复现步骤是:

  1. 进入onedrive的sharepoint站点勾选单文件,如 https://gitaccuacnz2-my.sharepoint.com/:f:/g/personal/mail_finderacg_com/EheQwACFhe9JuGUn4hlg9esBsKyk5jp9-Iz69kqzLLF5Xw?e=FG7SHh

2.按住alt后点击下载,此步快捷键为了防止电脑上的idm插件接管,调用chrome下载。此时chrome下载会被aria2接管,跳转至aria2NG界面。

3.aria2NG界面的链接形式如 https://z4meg-my.sharepoint.com/personal/vcxvcxddd_z4meg_onmicrosoft_com/_layouts/15/download.aspx?UniqueId=774426e3%2D9d51%2D4bda%2D857d%2Db137e759ab37 ,和我回复提到的帖子 https://gwliang.com/2020/05/26/linux-control-download-onedrive-files 中所述情况一样。该链接在我本机可使用浏览器/idm等工具直接下载至本地,但使用扩展拦截点击下载后正在下载界面只会出现download.aspx文件,远端下载完成后变成authorize文件。我想使用该扩展自动接管下载onedrive文件至远端。

初步判断是本机cookies未被发送至远端。不知道这个问题如何解决? 另外使用onedrive勾选多文件/文件夹时,该扩展插件无法拦截接管下载。

ZhangTianrong commented 3 years ago

亲身经历是Chrome插件无法捕捉request header,需要每次手动填写才能正常下载,Edge版的就没问题。最近Chrome经常遇到奇奇怪怪的毛病,包括IDM video panel永远打不开之类的……

geekscrapy commented 3 years ago

This chrome extension is able to capture the cookies https://chrome.google.com/webstore/detail/cookiemanager-cookie-edit/hdhngoamekjhmnpenphenpaiindoinpo

alexhua commented 3 years ago

初步判断是本机cookies未被发送至远端。不知道这个问题如何解决? 另外使用onedrive勾选多文件/文件夹时,该扩展插件无法拦截接管下载。

  1. 问题定位清楚了,打开“下载前询问详细信息“,Cookie在传递到AriaNG后,有些特殊字符被转义掉了,全自动拦截下载是没有问题的。 2. onedrive勾选多文件/文件夹时,下载信息里filesize是0所有拦截不到,把域名加到白名单里就好了。
  2. 域名添加到白名单可以拦截但是无法通过aria2下载,需要提交一个表单数据,这个模拟不了。