金山文档批量下载-Java

news/2024/11/30 2:31:38/
  1. 登录网页端获取cookie 金山文档
    在这里插入图片描述
  2. maven
<dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.7.9</version>
</dependency>
  1. 代码
import cn.hutool.http.HttpRequest;
import cn.hutool.http.HttpUtil;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;/*** @author ohy* @date 2021-08-26 09:59:38**/
public class Test {static String cookie ="";public static void main(String[] args) {String url = "https://drive.kdocs.cn/api/v5/links?offset=0&count=100&orderby=file_mtime&order=DESC&append=false&ignore=link";String res = HttpRequest.get(url).header("cookie", cookie).execute().body();JSONObject jsonObject = JSONObject.parseObject(res);String path = "C:\\Users\\montnets\\Desktop\\test\\"+ jsonObject.getJSONArray("share").getJSONObject(0).getString("share_name");parseGroup(jsonObject.getJSONArray("share").getJSONObject(0).getJSONObject("group").getString("groupid"), path, "0");}private static void parseGroup(String id, String path, String parentId) {String url = "https://drive.kdocs.cn/api/v5/groups/" + id + "/files?linkgroup=true&include=acl,pic_thumbnail&offset=0&count=30";if (!parentId.equals("0")) url += "&parentid=" + parentId;String res = HttpRequest.get(url).header("cookie", cookie).execute().body();JSONObject jsonObject = JSONObject.parseObject(res);JSONArray array = jsonObject.getJSONArray("files");for (int i = 0; i < array.size(); i++) {JSONObject object = array.getJSONObject(i);if (object.getString("ftype").equals("folder")) {String groupId = object.getString("id");String name = object.getString("fname");parseGroup(id, path + "\\" + name, groupId);} else if (object.getString("ftype").equals("file")) {String fId = object.getString("id");String name = object.getString("fname");String getdownUrl = "https://drive.kdocs.cn/api/v3/groups/" + id + "/files/" + fId + "/download?isblocks=false";res = HttpRequest.get(getdownUrl).header("cookie", cookie).execute().body();String downUrl = JSONObject.parseObject(res).getJSONObject("fileinfo").getString("url");HttpUtil.downloadFile(downUrl, path + "/" + name);}}}
}

http://www.ppmy.cn/news/906006.html

相关文章

金山办公笔试题

金山办公笔试题 随着互联网的发展和移动智能终端的普及&#xff0c;越来越多的学生开始使用手机或者平板查看复习笔记。 1、在你平时学习过程中&#xff0c;是否使用过移动端产品帮助你提高学习效率&#xff1f;请简要分析目前存在的痛点。 2、如果你是产品经理&#xff0c;针…

条款34:优先选用lambda式,而非std::bind

std::bind是C98中std::bind1st和std::bind2nd的后继特性&#xff0c;但是&#xff0c;作为一种非标准特性而言&#xff0c;std::bind在2005年就已经是标准库的组成部分了。正是在那时&#xff0c;标准委员会接受了名称TR1的文档&#xff0c;里面就包含了std::bind的规格&#x…

stm32读写nand flash

文章目录 1.简介2.频率设置3.FSMC参数设置4.修改宏定义 NAND_DEVICE5.程序测试5.1.简单测试5.2.擦除、写入、读取测试 注意 1.简介 目前我在使用stm32f407ZGT6来读写三星的nand flash【K9F1G08U0E】。 板子我是在这里买的 【STM32F407ZGT6最小系统板/核心板/转接板/开发板/加1…

DRAM知识整理系列(一):SDRAM的简介与SDRAM的管脚与尺寸介绍

目录 一、ROM与RAM介绍 二、SDRAM的简介 1、SDRAM的发展简介 2、常见DRAM单元的基本单元介绍 三、SDRAM的尺寸与管脚介绍 1、DDR的常见尺寸与Ball数 2、DDR的管脚类型介绍 一、ROM与RAM介绍 ROM&#xff1a;只读存储器&#xff0c;非易失性 RAM&#xff1a;随机存取存储…

SDRAM、DRAM及DDR FLASH ROM概念详解

存储器1、RAM&#xff1a;2、ROM&#xff1a;SRAMDRAMSDRAMDRAM 与 SRAM 的应用场合EEPROMFLASHNOR FLASHNAND FLASH DDR 在了解其他概念之前&#xff0c;我们要首先知道&#xff0c;什么是存储器 存储器 存储器是用来存储程序和各种数据信息的记忆部件 许多存储单元的集合&a…

内存控制器与SDRAM【赞】

原文链接&#xff1a;https://blog.csdn.net/qq_31216691/article/details/87115697 内存接口概念&#xff1a; 通常ARM芯片内置的内存很少&#xff0c;要运行Linux&#xff0c;需要扩展内存。ARM9扩展内存使用SDRAM内存&#xff0c;ARM11使用 DDR SDRAM。S3C2440通常外接32位6…

SRAM和SDRAM的简单介绍

参考&#xff1a;IS62WV51216ALL数据手册 W9825G6KH数据手册 1.SRAM 静态随机存取存储器&#xff08;Static Random-Access Memory&#xff0c;SRAM&#xff09;是随机存取存储器的一种。相对之下&#xff0c;动态随机存取存储器&#xff08;DRAM&#xff09;里面所储存的数据…

SDRAM笔记

SRAM&#xff0c;DRAM&#xff0c;SDRAM的区别 SRAM SRAM&#xff0c;静态的随机存取存储器&#xff0c;又被称为静态RAM&#xff0c;利用双稳态电路进行存储。即使有干扰对稳态电路也没影响&#xff0c;所以有双稳态性&#xff0c;“静态”是指只要不掉电&#xff0c;存储在S…