百度网盘5MB每秒-你本来就很快

简介: 把你的百度网盘速度提升到5MB每秒, 心动吗?这是百度网盘官方提供的方法, 只是一般人不知道,速度限制:实测非会员下载5MB/s

牙叔教程 简单易懂

先说结论: 不冲会员, 也可以达到5MB/S.


是MB大写B哦, B字节,

不是小b,比特;

这是百度网盘官方提供的方法, 只是一般人不知道,

速度限制:实测非会员下载5MB/s

现在我来跟你讲讲使用步骤.

第一步 打开网盘控制台

https://pan.baidu.com/union/console/applist?from=person

第二步 点击创建应用

网页右上角

第三步 填写资料

名字随便填

点击创建

第四步 创建失败

去认证一下

https://pan.baidu.com/union/apply?

第五步 创建成功

第六步 看文档

https://pan.baidu.com/union/doc/

第七步 选择授权模式

前两个都要填写域名, 最后一个不用填写域名, 所以我选择

设备码模式

第八步 获取二维码

const axios = require('axios');

const { AppID, Appkey, Secretkey, Signkey } = require("./config.js");


axios.get('https://openapi.baidu.com/oauth/2.0/device/code', {

 params: {

   response_type: 'device_code',

   client_id: Appkey,

   scope: 'basic,netdisk'

 },

 headers: {

   'User-Agent': 'pan.baidu.com'

 }

})

 .then(response => {

   console.log(response.data);

 })

 .catch(error => {

   console.log(error);

 });


 // {

 //   device_code: 'e85exxxxxxxxxxx38b',

 //   user_code: '6xxxxxxxxk',

 //   verification_url: 'https://openapi.baidu.com/device',

 //   qrcode_url: 'https://openapi.baidu.com/device/qrcode/2d0382exxxxxxxxxx93e1/6xxxxxxck',

 //   expires_in: 300,

 //   interval: 5

 // }

获取到qrcode_url以后, 复制该链接到浏览器, 然后就会出现二维码, 用你的手机扫码二维码授权

第九步 获取Access Token

const axios = require('axios');

const { AppID, Appkey, Secretkey, Signkey } = require("./config.js");


axios.get('https://openapi.baidu.com/oauth/2.0/token', {

 params: {

   grant_type: 'device_token',

   code: 'e8xxxxxxxxxxxxxxxxxx38b',

   client_id: Appkey,

   client_secret: Secretkey

 },

 headers: {

   'User-Agent': 'pan.baidu.com'

 }

})

 .then(response => {

   console.log(response.data);

 })

 .catch(error => {

   console.log(error);

 });

 // {

 //   expires_in: 2592000,

 //   refresh_token: '12xxxxxxxxxxxxxxxxxXw',

 //   access_token: '126xxxxxxxxxxxxxxxxJNeg',

 //   session_secret: '',

 //   session_key: '',

 //   scope: 'basic netdisk'

 // }

第十步 看下载文档

https://pan.baidu.com/union/doc/pkuo3snyp

第十一步 获取文件列表

async function getFileList() {

 try {

   const response = await axios.get("https://pan.baidu.com/rest/2.0/xpan/file", {

     params: {

       method: "list",

       dir: "/test",

       order: "time",

       start: 0,

       limit: 10,

       folder: 0,

       access_token: access_token,

       desc: 1,

     },

     headers: {

       "User-Agent": "pan.baidu.com",

     },

   });

   console.log(response.data);

 } catch (error) {

   console.log(error);

 }

}

我再目录test传了一个46.53MB的文件用于测试

返回的文件列表信息

{

 errno: 0,

 guid_info: '',

 list: [

   {

     tkbind_id: 0,

     owner_type: 0,

     category: 6,

     real_category: 'rar',

     fs_id: 1011xxxxxxxx288,

     md5: '5eeabxxxxxxxxxxx82183',

     oper_id: 231xxxxxxxxx846,

     server_ctime: 168xxxxxxxx05,

     extent_tinyint7: 0,

     wpfile: 0,

     local_mtime: 16xxxxxxxxx4658,

     size: 4xxxxxxxxx390,

     from_type: 0,

     pl: 1,

     share: 0,

     server_atime: 0,

     path: '/test/psxxxxxxxx.rar',

     local_ctime: 166xxxxxx79,

     server_mtime: 168xxxxxxxx05,

     server_filename: 'psxxxxxxx.rar',

     owner_id: 0,

     unlist: 0,

     isdir: 0

   }

 ],

 request_id: 87xxxxxxxxxxxxx00,

 guid: 0

}

第十二步 获取文件信息

async function getFileMetas() {

 try {

   const response = await axios.get("http://pan.baidu.com/rest/2.0/xpan/multimedia", {

     params: {

       method: "filemetas",

       access_token: access_token,

       fsids: `[${fs_id}]`,

       thumb: 0,

       dlink: 1,

       extra: 0,

     },

     headers: {

       "User-Agent": "pan.baidu.com",

     },

   });

   console.log(response.data);

 } catch (error) {

   console.log(error);

 }

 // {

 //   errmsg: 'succ',

 //   errno: 0,

 //   list: [

 //     {

 //       category: 6,

 //       dlink: 'https://d.pcs.baidu.com/file/5eexxxxxxxx183?fid=231xxxx',

 //       filename: 'pxxxxxx.rar',

 //       fs_id: 101xxxxxxxxxxxx1288,

 //       isdir: 0,

 //       local_ctime: 1xxxxxxxxxx579,

 //       local_mtime: 16xxxxxxxxx658,

 //       md5: '5eeabb4exxxxxxx2183',

 //       oper_id: 23xxxxxxxxxxx6846,

 //       path: '/test/xxxxxx.rar',

 //       server_ctime: 16xxxxxxx705,

 //       server_mtime: 16xxxxxxxxx3705,

 //       size: 48790390

 //     }

 //   ],

 //   names: {},

 //   request_id: '87xxxxxxxxxx651'

 // }

}

第十三步 下载文件

不允许使用浏览器直接下载超过50MB的文件, 超过50MB的文件需用开发者原生的软件或者app进行下载

我的文件刚好没有50MB, 我去整个100M的试试

上传了一个93MB的文件, 看看能不能正常下载

function downloadFile() {

 let dlink =

   "https://d.pcs.baidu.com/file/5exxxxxxxxxx"

 let url = `${dlink}&access_token=${access_token}`;


 return new Promise((resolve, reject) => {

   axios

     .get(url, {

       headers: {

         "User-Agent": "pan.baidu.com",

         Host: "d.pcs.baidu.com",

       },


       responseType: "stream",

     })

     .then((response) => {

       const writeStream = fs.createWriteStream("file.zip");

       response.data.pipe(writeStream);

       writeStream.on("finish", () => {

         resolve(true);

       });

       writeStream.on("error", (error) => {

         reject(error);

       });

     })

     .catch((error) => {

       console.log(error);

       reject(false);

     });

 });

}

你们知道下载时间多少吗?

async function main() {

 let startTime = new Date().getTime();

 let downloadRes = await downloadFile();

 console.log(downloadRes);

 let endTime = new Date().getTime();

 console.log(`下载耗时:${(endTime - startTime) / 1000}s`);

}

main();


下载耗时:17.833s // 93.06MB

Y的不比阿里慢呀

备注

目前下载sdk仅支持小文件下载,如果涉及大文件,可参考该demo进行升级改造,涉及到分片下载、断点下载等技术

以上代码均由ChatGPT4生成, 我用的是国内的服务商提供的chatGPT4服务, 不需要科技就可以正常用, 还支持画图


公众号 牙叔教程

这个ChatGPT星球有多牛逼

相关文章
|
人工智能 前端开发 Java
autojs非常见函数1
牙叔教程 简单易懂
2531 0
|
9月前
|
Web App开发 安全 iOS开发
macOS Sequoia 15.4.1 (24E263) 正式版 ISO、IPSW、PKG 下载
macOS Sequoia 15.4.1,2025 年 4 月 17 日,仅问题修复和安全更新。
712 6
macOS Sequoia 15.4.1 (24E263) 正式版 ISO、IPSW、PKG 下载
物联网卡不能使用在什么设备上
“物联网卡不能使用在什么设备上”这一操作或规定,通常基于物联网卡的特性、使用条款以及设备兼容性等因素。以下是对这一问题的详细分析和操作建议:
|
开发框架 前端开发 Java
【Spring】Spring框架介绍,功能模块,容器知识和有关Spring的生态圈的详细讲解
【Spring】Spring框架介绍,功能模块,容器知识和有关Spring的生态圈的详细讲解
538 0
|
定位技术
vue-baidu-map 报错 | BMap is undefined
vue-baidu-map 报错 | BMap is undefined
374 1
|
存储 算法 Java
Java性能优化(三):Java基础-HashMap的设计与优化
HashMap核心特性数据结构:HashMap采用哈希表数据结构来存储键值对,利用哈希函数和哈希表快速定位元素位置,提供高效的键值对查询。参数设置初始容量:HashMap允许用户根据使用场景设定初始容量,以优化性能。在预知数据量时,可以通过计算(初始容量=预知数据量/加载因子)来设定合适的初始容量,以减少扩容操作,提高效率。加载因子:加载因子定义了哈希表何时进行扩容的阈值。加载因子较小时,哈希表会更早地进行扩容,减少哈希冲突;加载因子较大时,会提高内存利用率但可能增加哈希冲突。
700 2
|
Android开发
android Jetpack Navigation组件——堆栈操作和动画效果
android Jetpack Navigation组件——堆栈操作和动画效果
1023 0
android Jetpack Navigation组件——堆栈操作和动画效果
|
人工智能
批量提取某音视频文案(二)
介绍批量提取视频文案的流程, 以及做视频的步骤
978 0
|
算法 C++
【C++入门到精通】智能指针 shared_ptr循环引用 | weak_ptr 简介及C++模拟实现 [ C++入门 ]
【C++入门到精通】智能指针 shared_ptr循环引用 | weak_ptr 简介及C++模拟实现 [ C++入门 ]
730 0