当前位置: 首页 > news >正文

一文搞懂Linux命令行下载OneDrive分享文件

一文搞懂Linux命令行下载OneDrive分享文件

什么问题?

因为OneDrive有些坑,无法从分享界面获取真实下载链接,比如下面这个链接:

https://connecthkuhk-my.sharepoint.com/:f:/g/personal/jhyang13_connect_hku_hk/EsEgHtGOWbJImxop6tF15FIBIH-ihrjuDclbrbmwWfY_RA?e=s6fitN

如果直接在服务器里 wget 这个下载链接,100%会403: Forbidden

怎么办?

有经验的老手都知道肯定是没带 Cookie ,但是要怎么带Cookie呢,其实很简单。
Step1:
请使用Chrome,首先你需要按下F12,打开开发人员工具,然后转到网络选项。
在这里插入图片描述
Step2:
之后点击想要下载的文件(注意!只能点一个文件,不能多个文件进行下载),同时观察开发人员工具窗口,找到带有download.aspx/?…. 的那个链接。
在这里插入图片描述
在这里插入图片描述
Step3:
之后在那个链接上右键,选择 复制-复制为cURL命令(bash)。会在剪切板出现类似下面的命令语句:

curl 'https://connecthkuhk-my.sharepoint.com/personal/jhyang13_connect_hku_hk/_layouts/15/download.aspx?UniqueId=47909841%2D4653%2D4b93%2Da33f%2D91ec825a7526' \-H 'accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7' \-H 'accept-language: zh-CN,zh;q=0.9' \-H 'cookie: MicrosoftApplicationsTelemetryDeviceId=24cabc4c-c68c-4f63-8877-ae395ced04e7; MSFPC=GUID=c4e909b5f753492d9753ad789b5bfc42&HASH=c4e9&LV=202309&V=4&LU=1694955555622; FedAuth=77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48U1A+VjEzLDBoLmZ8bWVtYmVyc2hpcHx1cm4lM2FzcG8lM2Fhbm9uIzY5ODc0ZDJhYmVkZGUyMWU5OWQzM2MyYWMxNGIyYmMxNTk1MTlmZjViM2E0Y2M4ZmVkMjcwNTZlODIyNmQ1NjMsMCMuZnxtZW1iZXJzaGlwfHVybiUzYXNwbyUzYWFub24jNjk4NzRkMmFiZWRkZTIxZTk5ZDMzYzJhYzE0YjJiYzE1OTUxOWZmNWIzYTRjYzhmZWQyNzA1NmU4MjI2ZDU2MywxMzM2MzYyNzAxNjAwMDAwMDAsMCwxMzM2Mzc2NzEyMDIxNDYzMDUsMC4wLjAuMCwyNTgsZTgwZDhlNzUtNTJiOS00ODM5LWEzNTgtODdhYmI5M2IzNTY3LCwsZjk3YTM1YTEtZTBkMi0zMDAwLTg1N2YtZmUxYjJjZTMyNWIxLDdhYWUzNWExLTcwNTQtMzAwMC04NTdmLWYzODgxYTY1MGNlNix3d2ZoSmdNQkhVS3J6TjA0eHlNM2V3LDAsMCwwLCwsLDI2NTA0Njc3NDM5OTk5OTk5OTksMCwsLCwsLCwwLCwxOTYwMDAsRGFEQWZqUVFtcHlPWHgyUnJLX1c1bHZvTFo0LGNMSzhJT3lCem96WjZLZ0FOcHU5d1ZwVnR5eVNFcDQ2dTBlYmhDcjQvcGlnMVdJaVN2eGdRK2FZbUV1WkhiaUkyWjdNcTJ1ejZ0a2pRMTJmeGVndUtnVElzVDFKY1BGT0VQdnJRRnF1emFYWklPakw4dXdBK3QrbUE2TnRxdFpTSnVud1RweSt5RVZ4bU5ZdnllLzJXaXJJVFJlN0dUa3A4NGpzdE1KN0k1c1AvZHdZb1JOSUFSWFdseDFtMGpvTk8xcXE2LzhHNzhHUU12S2JCQzJYaEpHWWFyekRFVTVlL0RYK1VPa0tjclNlcTRlWDY3aStuNUNRMTliZEI5dzVBUFNnM2hFUzZGV2xxZHp5SlgyVWgzaDJ5eU0wcWRveUd1c2twakpPYTNlK0l4bEtRZFVHUnVpN29Kc3NmSkdwbENsVExTbEZsV1BQb3dMNlhHSE5mUT09PC9TUD4=; WSS_FullScreenMode=false' \-H 'priority: u=0, i' \-H 'referer: https://connecthkuhk-my.sharepoint.com/personal/jhyang13_connect_hku_hk/_layouts/15/onedrive.aspx?id=%2Fpersonal%2Fjhyang13%5Fconnect%5Fhku%5Fhk%2FDocuments%2Fpretrained%5Fmodels%2Fregionplc%2Fcaption%5Ffiles%2Fscannet&ga=1' \-H 'sec-ch-ua: "Not/A)Brand";v="8", "Chromium";v="126", "Google Chrome";v="126"' \-H 'sec-ch-ua-mobile: ?0' \-H 'sec-ch-ua-platform: "Windows"' \-H 'sec-fetch-dest: iframe' \-H 'sec-fetch-mode: navigate' \-H 'sec-fetch-site: same-origin' \-H 'sec-fetch-user: ?1' \-H 'service-worker-navigation-preload: {"supportsFeatures":[]}' \-H 'upgrade-insecure-requests: 1' \-H 'user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36'

Step4:
之后粘贴到Linux的命令行里,最后在后面补加一句 --output xxx ,其中 xxx 是想要保存的文件名。请注意,如果文件的名字过长像复制名字,可以在step2中点了下载后选择保存路径时复制文件的名字。最终执行的命令就是类似这样的:

curl 'https://connecthkuhk-my.sharepoint.com/personal/jhyang13_connect_hku_hk/_layouts/15/download.aspx?UniqueId=47909841%2D4653%2D4b93%2Da33f%2D91ec825a7526' \-H 'accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7' \-H 'accept-language: zh-CN,zh;q=0.9' \-H 'cookie: MicrosoftApplicationsTelemetryDeviceId=24cabc4c-c68c-4f63-8877-ae395ced04e7; MSFPC=GUID=c4e909b5f753492d9753ad789b5bfc42&HASH=c4e9&LV=202309&V=4&LU=1694955555622; FedAuth=77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48U1A+VjEzLDBoLmZ8bWVtYmVyc2hpcHx1cm4lM2FzcG8lM2Fhbm9uIzY5ODc0ZDJhYmVkZGUyMWU5OWQzM2MyYWMxNGIyYmMxNTk1MTlmZjViM2E0Y2M4ZmVkMjcwNTZlODIyNmQ1NjMsMCMuZnxtZW1iZXJzaGlwfHVybiUzYXNwbyUzYWFub24jNjk4NzRkMmFiZWRkZTIxZTk5ZDMzYzJhYzE0YjJiYzE1OTUxOWZmNWIzYTRjYzhmZWQyNzA1NmU4MjI2ZDU2MywxMzM2MzYyNzAxNjAwMDAwMDAsMCwxMzM2Mzc2NzEyMDIxNDYzMDUsMC4wLjAuMCwyNTgsZTgwZDhlNzUtNTJiOS00ODM5LWEzNTgtODdhYmI5M2IzNTY3LCwsZjk3YTM1YTEtZTBkMi0zMDAwLTg1N2YtZmUxYjJjZTMyNWIxLDdhYWUzNWExLTcwNTQtMzAwMC04NTdmLWYzODgxYTY1MGNlNix3d2ZoSmdNQkhVS3J6TjA0eHlNM2V3LDAsMCwwLCwsLDI2NTA0Njc3NDM5OTk5OTk5OTksMCwsLCwsLCwwLCwxOTYwMDAsRGFEQWZqUVFtcHlPWHgyUnJLX1c1bHZvTFo0LGNMSzhJT3lCem96WjZLZ0FOcHU5d1ZwVnR5eVNFcDQ2dTBlYmhDcjQvcGlnMVdJaVN2eGdRK2FZbUV1WkhiaUkyWjdNcTJ1ejZ0a2pRMTJmeGVndUtnVElzVDFKY1BGT0VQdnJRRnF1emFYWklPakw4dXdBK3QrbUE2TnRxdFpTSnVud1RweSt5RVZ4bU5ZdnllLzJXaXJJVFJlN0dUa3A4NGpzdE1KN0k1c1AvZHdZb1JOSUFSWFdseDFtMGpvTk8xcXE2LzhHNzhHUU12S2JCQzJYaEpHWWFyekRFVTVlL0RYK1VPa0tjclNlcTRlWDY3aStuNUNRMTliZEI5dzVBUFNnM2hFUzZGV2xxZHp5SlgyVWgzaDJ5eU0wcWRveUd1c2twakpPYTNlK0l4bEtRZFVHUnVpN29Kc3NmSkdwbENsVExTbEZsV1BQb3dMNlhHSE5mUT09PC9TUD4=; WSS_FullScreenMode=false' \-H 'priority: u=0, i' \-H 'referer: https://connecthkuhk-my.sharepoint.com/personal/jhyang13_connect_hku_hk/_layouts/15/onedrive.aspx?id=%2Fpersonal%2Fjhyang13%5Fconnect%5Fhku%5Fhk%2FDocuments%2Fpretrained%5Fmodels%2Fregionplc%2Fcaption%5Ffiles%2Fscannet&ga=1' \-H 'sec-ch-ua: "Not/A)Brand";v="8", "Chromium";v="126", "Google Chrome";v="126"' \-H 'sec-ch-ua-mobile: ?0' \-H 'sec-ch-ua-platform: "Windows"' \-H 'sec-fetch-dest: iframe' \-H 'sec-fetch-mode: navigate' \-H 'sec-fetch-site: same-origin' \-H 'sec-fetch-user: ?1' \-H 'service-worker-navigation-preload: {"supportsFeatures":[]}' \-H 'upgrade-insecure-requests: 1' \-H 'user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36' --output caption_detic-template_and_kosmos_125k_iou0.2.json

该方法局限性?

注意!只能点一个文件,不能多个文件进行下载
这个方法多个文件点击下载F12中不会出现带有download.aspx/?…. 的那个链接,因此尚未探索出多文件文件夹下载的方法,如果大家有好的方法可以在评论区留言,我尝试成功后更新此博客!

参考博客:Linux命令行下载OneDrive分享链接中的文件

相关文章:

一文搞懂Linux命令行下载OneDrive分享文件

一文搞懂Linux命令行下载OneDrive分享文件 什么问题? 因为OneDrive有些坑,无法从分享界面获取真实下载链接,比如下面这个链接: https://connecthkuhk-my.sharepoint.com/:f:/g/personal/jhyang13_connect_hku_hk/EsEgHtGOWbJIm…...

SpringBoot 实现RequestBodyAdvice封装统一接受类功能

一、相关往期文章 SpringBootVue实现AOP系统日志功能_aop的vue完整项目 Spring AOP (面向切面编程)原理与代理模式—实例演示_面向切面aop原理详解 二、需求分析 按照一般情况,统一接受类可以像以下的方式进行处理: 如果不想使用 Request…...

贪吃蛇——c语言版

文章目录 演示效果实现的基本功能技术要点源代码实现功能GameStart打印欢迎界面和功能介绍绘制地图创建蛇创建食物 GameRun打印提示信息蛇每走一步 GameEnd蛇死亡后继续游戏 演示效果 贪吃蛇1.0演示视频 将终端应用程序改为控制台主机 实现的基本功能 贪吃蛇地图绘制蛇吃食物的…...

ctr/cvr预估之WideDeep模型

ctr/cvr预估之Wide&Deep模型 在探索点击率(CTR)和转化率(CVR)预估的领域中,我们始终追求的是一种既能捕获数据中的线性关系,又能发现复杂模式的模型。因子分解机(Factorization Machines, …...

快速生成基于vue-element的后台管理框架,实现短时间二次开发

你是否遇到过当你想要独立开发一个项目时对反复造轮子的烦扰? 这种流水线的操作实在让人受不了 而vue-element-template很好的帮你解决了这个烦恼 只需克隆下来,改改图标,模块名,甚至样式,就会变成一个全新的自己的项目…...

PCIe 7.0 要来了,一文看懂PCIe发展和技术

PCIe(Peripheral Component Interconnect Express),即外围组件高速串行扩展总线标准,自其诞生以来,已成为计算机硬件中不可或缺的一部分。它以其高速串行通信能力和不断演进的技术规范,满足了日益增长的数据…...

API-事件类型

学习目标&#xff1a; 掌握事件类型 学习内容&#xff1a; 事件类型鼠标事件焦点事件键盘事件文本事件focus选择器案例 事件类型&#xff1a; 鼠标事件&#xff1a; <title>事件类型-鼠标事件</title><style>div {width: 200px;height: 200px;background-c…...

解决poweroff时需要等待其他服务关闭问题

当我们在执行poweroff或者reboot时会出现某个服务需要等待才能关闭系统,这个时候就可以在服务中添加如下: After=shutdown.target Conflicts=reboot.target halt.target poweroff.target Before=shutdown.target reboot.target halt.target poweroff.target具体实例: [Uni…...

ThinkPHP-导入Excel表格(通用版)

一、版本说明 1.PHP8.2、MySQL8.0、ThinkPHP8.0 2.使用前安装phpspreadsheet composer require phpoffice/phpspreadsheet 二、技术说明 因本人采用前后端分离&#xff0c;因此上传文件以及导入表格为分离开发&#xff0c;如无需分离开发则自行合并开发即可。 1.第一步&a…...

毕昇jdk教程

毕昇jdk教程指南链接&#xff1a;Wiki - Gitee.com...

【R语言】地理探测器模拟及分析(Geographical detector)

地理探测器模拟及分析 1. 写在前面2. R语言实现2.1 数据导入2.2 确定数据离散化的最优方法与最优分类2.3 分异及因子探测器&#xff08;factor detector&#xff09;2.4 生态探测器&#xff08;ecological detector&#xff09;2.5 交互因子探测器&#xff08;interaction dete…...

深入理解Qt属性系统[Q_PROPERTY]

Qt 属性系统是 Qt 框架中一个非常核心和强大的部分&#xff0c;它提供了一种标准化的方法来访问对象的属性。这一系统不仅使得开发者能够以一致的方式处理各种数据类型&#xff0c;还为动态属性的管理提供了支持&#xff0c;并与 Qt 的元对象系统紧密集成。在这篇文章中&#x…...

【C语言课程设计】员工信息管理系统

员工信息管理系统 在日常的企业管理中&#xff0c;员工信息的管理显得尤为重要。为了提高员工信息管理的效率&#xff0c;我们设计并实现了一个简单的员工信息管理系统。该系统主要使用C语言编写&#xff0c;具备输入、显示、查询、更新&#xff08;增加、删除、修改&#xff…...

「动态规划」如何求最长递增子序列的长度?

300. 最长递增子序列https://leetcode.cn/problems/longest-increasing-subsequence/description/ 给你一个整数数组nums&#xff0c;找到其中最长严格递增子序列的长度。子序列是由数组派生而来的序列&#xff0c;删除&#xff08;或不删除&#xff09;数组中的元素而不改变其…...

深度神经网络DNN概念科普

深度神经网络DNN概念科普 深度神经网络&#xff08;Deep Neural Network, DNN&#xff09;是机器学习领域中一类具有多层结构的神经网络模型&#xff0c;它能够通过学习数据中的复杂模式来解决非线性问题。下面是对深度神经网络的详细解析&#xff1a; 基本组成部分 输入层&…...

Tomcat WEB站点部署

目录 1、使用war包部署web站点 2、自定义默认网站目录 3、部署开源站点&#xff08;jspgou商城&#xff09; 对主机192.168.226.22操作 对主机192.168.226.20操作 上线的代码有两种方式&#xff1a; 第一种方式是直接将程序目录放在webapps目录下面&#xff0c;这种方式…...

IPv6 中 MAC 33:33 的由来

一、33:33 由来 1. RFC9542 - 2024-05-02 Note IANA allocates addresses under the IANA OUI (00-00-5E) as explained in [RFC9542]. Unicast addresses under the IANA OUI start with 00-00-5E, while multicast addresses under the IANA OUI start with 01-00-5E. In t…...

告别手动邮件处理:使用imbox库轻松管理你的收件箱

imbox库简介&#xff1a; imbox是一个强大的Python库,专为与IMAP服务器交互而设计.IMAP&#xff08;Internet Message Access Protocol&#xff09;是一种用于电子邮件的标准协议,允许用户在远程服务器上管理邮件.imbox库通过IMAP协议与邮件服务器通信,帮助用户轻松地读取、搜索…...

Ubuntu 18.04 安装 PCL 1.14.1

在进行科研项目时&#xff0c;我们常常需要将 C 和 Python 结合起来编程。然而&#xff0c;每次将 PCL&#xff08;Point Cloud Library&#xff09;的内容添加到 CMakeLists.txt 文件中时都会报错。在深入分析后&#xff0c;我们推测可能是当前使用的 PCL 1.8 版本与现有程序不…...

公司logo设计大全怎么找?直接帮你设计logo

公司logo设计大全怎么找&#xff1f;在品牌塑造的过程中&#xff0c;Logo无疑是至关重要的一环。一个优秀的Logo不仅能够有效传达公司的核心理念和品牌形象&#xff0c;还能在消费者心中留下深刻的印象。然而&#xff0c;对于许多初创公司或小型企业来说&#xff0c;制作出适合…...

Spring Boot 实现流式响应(兼容 2.7.x)

在实际开发中&#xff0c;我们可能会遇到一些流式数据处理的场景&#xff0c;比如接收来自上游接口的 Server-Sent Events&#xff08;SSE&#xff09; 或 流式 JSON 内容&#xff0c;并将其原样中转给前端页面或客户端。这种情况下&#xff0c;传统的 RestTemplate 缓存机制会…...

AtCoder 第409​场初级竞赛 A~E题解

A Conflict 【题目链接】 原题链接&#xff1a;A - Conflict 【考点】 枚举 【题目大意】 找到是否有两人都想要的物品。 【解析】 遍历两端字符串&#xff0c;只有在同时为 o 时输出 Yes 并结束程序&#xff0c;否则输出 No。 【难度】 GESP三级 【代码参考】 #i…...

MVC 数据库

MVC 数据库 引言 在软件开发领域,Model-View-Controller(MVC)是一种流行的软件架构模式,它将应用程序分为三个核心组件:模型(Model)、视图(View)和控制器(Controller)。这种模式有助于提高代码的可维护性和可扩展性。本文将深入探讨MVC架构与数据库之间的关系,以…...

【分享】推荐一些办公小工具

1、PDF 在线转换 https://smallpdf.com/cn/pdf-tools 推荐理由&#xff1a;大部分的转换软件需要收费&#xff0c;要么功能不齐全&#xff0c;而开会员又用不了几次浪费钱&#xff0c;借用别人的又不安全。 这个网站它不需要登录或下载安装。而且提供的免费功能就能满足日常…...

音视频——I2S 协议详解

I2S 协议详解 I2S (Inter-IC Sound) 协议是一种串行总线协议&#xff0c;专门用于在数字音频设备之间传输数字音频数据。它由飞利浦&#xff08;Philips&#xff09;公司开发&#xff0c;以其简单、高效和广泛的兼容性而闻名。 1. 信号线 I2S 协议通常使用三根或四根信号线&a…...

渗透实战PortSwigger靶场:lab13存储型DOM XSS详解

进来是需要留言的&#xff0c;先用做简单的 html 标签测试 发现面的</h1>不见了 数据包中找到了一个loadCommentsWithVulnerableEscapeHtml.js 他是把用户输入的<>进行 html 编码&#xff0c;输入的<>当成字符串处理回显到页面中&#xff0c;看来只是把用户输…...

2025年低延迟业务DDoS防护全攻略:高可用架构与实战方案

一、延迟敏感行业面临的DDoS攻击新挑战 2025年&#xff0c;金融交易、实时竞技游戏、工业物联网等低延迟业务成为DDoS攻击的首要目标。攻击呈现三大特征&#xff1a; AI驱动的自适应攻击&#xff1a;攻击流量模拟真实用户行为&#xff0c;差异率低至0.5%&#xff0c;传统规则引…...

Java多线程实现之Runnable接口深度解析

Java多线程实现之Runnable接口深度解析 一、Runnable接口概述1.1 接口定义1.2 与Thread类的关系1.3 使用Runnable接口的优势 二、Runnable接口的基本实现方式2.1 传统方式实现Runnable接口2.2 使用匿名内部类实现Runnable接口2.3 使用Lambda表达式实现Runnable接口 三、Runnabl…...

李沐--动手学深度学习--GRU

1.GRU从零开始实现 #9.1.2GRU从零开始实现 import torch from torch import nn from d2l import torch as d2l#首先读取 8.5节中使用的时间机器数据集 batch_size,num_steps 32,35 train_iter,vocab d2l.load_data_time_machine(batch_size,num_steps) #初始化模型参数 def …...

学习 Hooks【Plan - June - Week 2】

一、React API React 提供了丰富的核心 API&#xff0c;用于创建组件、管理状态、处理副作用、优化性能等。本文档总结 React 常用的 API 方法和组件。 1. React 核心 API React.createElement(type, props, …children) 用于创建 React 元素&#xff0c;JSX 会被编译成该函数…...