解除浏览中百度对大文件下载限制

转自博客园:AepKill 留作备用信息

百度网盘对浏览器端下载大文件做了一些限制,当超过一定大小的文件必须使用百度云管家才可以下载,这给用户的使用带来了不便。

 [不看分析请直接拉到页底]

1. 百度网盘限速原理

  当点击下载一个大文件的时候百度网盘会弹出这样一个提示框。

  

  我们给下个断点,看看是什么代码创建了这个提示框。

  

  然后再次点击下载一个大文件,我们发现断点已经断下来了。

  

  可以看出这里是在把提示对话框显示出来,我们需要查看调用栈往上找找。

  

  跳过一些jQuery的操作,我们看到了这样一个函数,继续往上找。

  

  这个isPlatformWindows的分支很可疑,我们跟进去看一下,于是我把DOM断点取消了,并在1748行这里下了个断点。

  

  断下来了,跟进去看看。

  

  这个函数只是简单的判断了 navigator.platform 这个平台相关的字符串,我们修改一下看看会发生什么结果

  

  

  让代码继续跑起来

  

  嗯,我们成功了。

 

2. 写段代码来破解吧

  从上面的调试中我们已经知道了百度是通过判断 window.navigator.platform 是不是以 win32 开头来判断是否是运行浏览器下载的,所以我们只需要修改这个变量就轻松解除了限制。

  经过尝试我发现,platform这个属性被百度冻结了。

  所以只能修改 navigator 。

  修改代码如下:

  

?
1
Object.defineProperty( this , 'navigator' , {value: { platform: "" }});

  

一句话总结:

  打开浏览器控制台(F12) 在命令行运行 Object.defineProperty(this , ‘navigator’ , {value: { platform: “” }}); 这段代码即可解除百度网盘对浏览器下载大文件的限制。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值