bpcs_uploader百度网盘自动上传脚本-将文件一键放到百度云

免费网盘   2013年03月01日 17:10  

bpcs_uploader百度网盘自动上传脚本-将文件一键放到百度云

部落在介绍OpenShift空间时就讲到了用Dropbox uploader来实现OpenShift空间自动备份文件到Dropbox网盘中,这个Dropbox uploader实际上脱胎于VPS自动备份到Dropbox中,无需动手就可以自动将VPS的文件上传到网盘中。

本篇文章就为大家带来oott123博主原创的百度网盘自动上传脚本:bpcs_uploader,利用bpcs_uploader你可以自动将VPS主机上的文件上传到百度网盘中,同时也可以从百度网盘中下载文件到VPS主机上,让你的文件安全地“住”在百度云中。

百度云空间容量大,且有了百度这个靠山,日后也不必担心网盘关门走人,随着众多国内网盘开始投放大量的广告到网盘下载页面(典型的有华为网盘、下载赚钱网盘),百度网盘清爽的风格就显得难能可贵了。将文件上传到百度云中就可以方便其它用户下载。

随着越来越多的免费网盘走向开放,网盘的作用也就不仅限于上传下载了,还可以用来:

bpcs_uploader百度网盘自动上传脚本-将文件一键放到百度云

PS:2013年11月25日更新,bpcs_uploader详细使用的图文教程:打造百度网盘备份利器:自动备份Linux VPS文件和多线程下载百度网盘资源

一、bpcs_uploader下载和使用

1、项目主页:

  • 1、下载:https://oott123.github.com/bpcs_uploader/

2、系统要求:Linux (or cygwin) with php & curl installed.

3、使用方法:


chmod +x bpcs_uploader.php
./bpcs_uploader.php 

4、由于VPS上安装的php可能存在于各种地方,因此运行很可能不正常。请以使用which php得到你的php绝对路径,修改bpcs_uploader.php的头一句#!后的路径。

5、如果你的php是为了网站环境安装的,那么很有可能你会得到下面这条错误消息:


xxx() has been disabled for security reasons 

6、那么说明你的环境由于安全原因禁止了部分函数的执行。请看bpcs_uploader相关问题的1。

7、请使用那条长长的命令代替./bpcs_uploader.php。eg:php -d disable_functions -d safe_mode=Off -f bpcs_uploader.php quota

二、bpcs_uploader初始化

1、敲下命令之后会进入初始化流程


./bpcs_uploader.php init 

2、这里分段详述设置方法。


Now start the initiation. If you have configured the uploader , it will be overwirte.
Continue? [y/N] y 

3、确认初始化。如果之前有初始化过,那么以前的配置将会被覆盖。


Now you have to enter your baidu PSC app key . You should know that it needs a manual acting.
You can request for it viahttps://developer.baidu.com/dev#/create .
Make sure you have the PCS app key . if you haven\'t , you can use the demo key from Baidu.
It will exprire some time. who knows ? so the best way is to request for your own key.
There are a demo key from Baidu : L6g70tBRRIXLsY0Z3HwKqlRE So if you dont have the app 
secret , you have to re-init every month , for the access-token will expires every month.
App KEY [L6g70tBRRIXLsY0Z3HwKqlRE] : 

4、第一步,输入App key。这里需要输入一个有PCS权限的API KEY,如果没有的话直接敲回车就好了,这里会默认使用百度提供的一个demo API KEY。

5、不过,由于百度没有公开app secret,所以只能获取一个有效期为一个月的access token。如果有一个有PSC权限的API KEY和secret,那么就能获得一个有效期为10年的refresh token,以便长期使用。


App key has been setted to L6g70tBRRIXLsY0Z3HwKqlRE .
Now you have to enter your baidu PSC app secret. If you dont know the secret , keep it blank.
App SECRET [] : 

6、第二步,输入App secret。如果输入了app secret,将会转到device code模式验证;或者直接输入回车使用oob模式验证。先直接回车:


Now you have to enter your app name. You can enter it later in the file [
/root/_bpcs_files_/config/appname ]. 
Why i have to enter app name ? see FAQs.
If your app name have Chinese characters , please swith your client to the UTF-8 mode.
Here are some chinese characters . Before you enter chinese characters , make sure you can 
read these characters.
如果你看到这里,说明你可以直接输入文字了
If you cant read any chinese above , please press enter , and change it manually in the file 
[ /root/_bpcs_files_/config/appname ] .
If you have Enter the keyL6g70tBRRIXLsY0Z3HwKqlRE , just press Enter.
App Name [pcstest_oauth] : 

8、第三步,这里需要输入app name。详情见FAQ 2。因为是使用的默认的key,所以直接回车即可。


Now you have to get your oauth accesstoken by your own .
Here is a reference document .
https://developer.baidu.com/wiki/index.php?title=docs/pcs/guide/usageexample
A simple guide :
1.visit https://openapi.baidu.com/oauth/2.0/authorize?responsetype=token&clientid=L6g70tBRRIXLsY0Z3HwKqlRE&redirecturi=oob&scope=netdisk
in your broswer.
2.when it redirected to a html page , copy the url to the notepad.
3.get the accesstoken from it , paste it and press Enter.
access_token[] :

9、第四步,获取access token。在浏览器中打开上述URL(https://openapi.baidu.com/oauth/2.0/authorize?response_type=token&client_id=L6g70tBRRIXLsY0Z3HwKqlRE&redirect_uri=oob&scope=netdisk),进行授权。

10、授权完毕后,将会跳到一个写着“百度 Oauth2.0”的页面。复制出其中的网页URL,找到access_token=和&之间的字符串,例如:3.**05c2ea85d52c2***************a5.2592000.136***9032.3089166538-23**47

11、将其复制到shell中粘贴并回车。使用这种方式初始化的用户,需要每月重新初始化。

12、如果第三步输入app secret的时候没有留空,将会得到下面的消息:


Now open your broswer and visithttps://openapi.baidu.com/device .
Copy or input 12abcxyz when it been asks.
After granted the access to the application , be back and press Enter key . 

13、来到这里,打开浏览器访问 https://openapi.baidu.com/device ,在“请输入设备上显示的用户授权码:”文本框中输入上面显示的授权码(这里是12abcxyz),并点击继续。 看到网页上显示“请返回设备继续操作!”后,返回ssh上按下回车后,即可继续。


curl -X GET -k -L "...."
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 62 0 62 0 0 40 0 --:--:-- 0:00:01 --:--:-- 235
Success . Your Storage Status : 0.06G/115.00G (0.05%)
Have fun ! 

14、你所看到的输出可能和这里给出的不一样,但是只要看到了存储空间的剩余量,和【Have fun !】提示,即说明成功初始化。

三、bpcs_uploader基本的操作指令

1、查询容量(配额)


./bpcs_uploader.php quota 

2、结果:


Your Storage Status : 0.06G/115.00G (0.05%) 

3、上传文件


./bpcs_uploader.php upload [path_local] [path_remote]

4、路径格式:foo/bar/file.ext(路径中一定要包括文件名)

5、上传后,能在百度网盘/我的应用数据/应用名/foo/bar下找到一个叫file.ext的文件。

6、下载文件


./bpcs_uploader.php download [path_local] [path_remote] 

7、删除文件


./bpcs_uploader.php delete [path_remote] 

8、离线下载


./bpcs_uploader.php fetch [path_remote] [path_to_fetch]

四、bpcs_uploader相关问题

1、各种错误提示,试试:


php -d disable_functions -d safe_mode=Off -f bpcs_uploader.php

2、为什么要输入app name?因为百度PCS的权限被限制在了/apps/appname/下。

3、如果发现输入app name后仍然无法上传文件,请通过网页版找到【我的应用数据】找到对应的文件夹名,写入/config/appname文件。上传文件的时候会自动帮您处理文件夹,无需手动写出完整路径。

4、同一个网盘帐号在不同的vps上用的话要注意,获取的token只要填写到几台VPS上就可以了,不要多次授权。如果授权了第二次的话,貌似前一次的token会失效。

5、脚本内置了一个app key,但是没有给出app secret,所以需要每月更新授权。这个key是百度官方文档中写给开发者做测试用的,但是只公开了key,所以没办法拿到永久授权。

6、干净系统直接安装php和curl的话,可以直接用开头那两行方法来使用的。但是一般的lnmp安装包就需要这样:

五、bpcs_uploader小结

1、bpcs_uploader最主要的问题在于没有app key的时候需要每月更新授权,想要永久授权的app key,请发邮件到百度开发者中心索取。

2、离线下载暂时无法在一般的api key授权的情况下使用,需要另外申请开通,目前已在cygwin和一台Centos上测试通过,其它系统欢迎测试。

文章出自:oott123 版权所有。本站文章除注明出处外,皆为作者原创文章,可自由引用,但请注明来源。 禁止全文转载。

十个便宜VPS主机分享-VPS服务器建站和搭建应用服务体验
2014年六大免费VPS主机-免费VPS申请、使用和点评

您或许对下面这些文章有兴趣:                    本月吐槽辛苦排行榜

在这个部落村庄里,已经有48 位神马家族成员冒出泡来在农场开始干活了
  • 文韬武略 4

    沙发啊.qi不都是晚上更新么
    我的小站[url]https://www.share123.org[/url]

    qi 回复:

    @文韬武略, 没有时间时就是晚上。 :smile:

    这是农场的第 1 块农田,部落批准 [文韬武略] 在[2013-3-1 17:23]开垦完成.
  • Tokin 17

    百度网盘空间不够大,,,

    qi 回复:

    @Tokin, 百度云和百度网盘有什么区别?

    文韬武略 回复:

    @qi, 没区别

    qi 回复:

    @文韬武略, 百度云是不是要更大一些?

    Tokin 回复:

    @文韬武略, 区别很大的。。。百度云包围百度网盘关系,百度云不仅仅是百度网盘

    Tokin 回复:

    @qi, 百度网盘是百度云的一个分支

    这是农场的第 2 块农田,部落批准 [Tokin] 在[2013-3-1 17:25]开垦完成.
  • Oyy

    技术文档,先保存一份。

    这是农场的第 3 块农田,部落批准 [Oyy] 在[2013-3-1 17:28]开垦完成.
  • 泷涯 5

    竟然没沙发

    这是农场的第 4 块农田,部落批准 [泷涯] 在[2013-3-1 17:43]开垦完成.
  • exexue

    支持下。。 。 还是求更新。。。

    这是农场的第 5 块农田,部落批准 [exexue] 在[2013-3-1 18:06]开垦完成.
  • 南寻 12

    我百度网盘上次搞活动得了100G的空间,不过只有一年,要是一年后怕超额的文件会被删…

    oott123 回复:

    @南寻, 度娘说过不会被删,只是不能上传了。

    这是农场的第 6 块农田,部落批准 [南寻] 在[2013-3-1 18:07]开垦完成.
  • Aoyu 6

    懒得折腾了,话说Qi你前几天咋一直没更新?

    泷涯 回复:

    @Aoyu, 过年什么的

    这是农场的第 7 块农田,部落批准 [Aoyu] 在[2013-3-1 18:10]开垦完成.
  • 复杂,看不懂,好在我不用vps

    这是农场的第 8 块农田,部落批准 [怕贼偷] 在[2013-3-1 18:14]开垦完成.
  • 为你一人 2

    想试试,没vps

    这是农场的第 9 块农田,部落批准 [为你一人] 在[2013-3-1 18:42]开垦完成.
  • babytomas

    正打算发它的这个 。。被米饭维谷抢先了,现在BAE完全开放了、做个博客还是不错的

    这是农场的第 10 块农田,部落批准 [babytomas] 在[2013-3-1 19:31]开垦完成.
  • 看了这么多 没看懂这个是干嘛用的….VPS备份吗?

    这是农场的第 11 块农田,部落批准 [棒棒糖] 在[2013-3-1 19:45]开垦完成.
  • 专门vps备份的吧

    这是农场的第 12 块农田,部落批准 [wordpress0com] 在[2013-3-1 20:01]开垦完成.
  • 弥生 2

    good,顶顶

    这是农场的第 13 块农田,部落批准 [弥生] 在[2013-3-1 20:55]开垦完成.
  • 话说度娘的这次百度网盘很反常得给力。大、免费、无广告······

    贺明的小站 回复:

    @peascloud, 先是一年免费100G,随后只有1G,然后有些大中小型企业就感觉方便,不在乎那一点点小钱,就会进行购买,消费,估计是依靠这来盈利。

    hot8bbs 回复:

    @peascloud, 度娘是先抢用户再赚钱,没光告是暂时的,先把小网盘都挤垮了,然后利用抢到的用户放广告.原先百度文库也没广告,现在学豆丁也加上广告了,以前上传了几百份文档挣了几千上万的积分没处花,
    现在百度搞出下载券诱@骗大家下载等大家积分都花完就要收钱下载了.以前有人开发出文库下载器,百度都给封杀了,以后想免费下载文库资料,只能到路边买盗版光盘了

    qi 回复:

    @hot8bbs, 都是为了赚钱。

    这是农场的第 14 块农田,部落批准 [peascloud] 在[2013-3-2 07:43]开垦完成.
  • 寒门七少 12

    快盘前后任务用BUG刷了快100G(目前依旧能刷),百度网盘早就满当了,很无语!目前升级无力吐槽!

    yy 回复:

    @寒门七少, 求教程 gethub@163.com

    这是农场的第 15 块农田,部落批准 [寒门七少] 在[2013-3-2 09:53]开垦完成.
  • OYOY 20

    比较高端的玩法啊,我看完觉得这不是传到百度网盘,而是百度云啊

    oott123 回复:

    @OYOY, 百度网盘,或者说「百度云网盘」,pan.baidu.com。

    OYOY 回复:

    @oott123, 额,那是我理解错了。我理解成BAE去了

    这是农场的第 16 块农田,部落批准 [OYOY] 在[2013-3-2 13:14]开垦完成.
  • pang 5

    支持啊~~~

    这是农场的第 17 块农田,部落批准 [pang] 在[2013-3-2 16:22]开垦完成.
  • 菠萝 1

    有办法把虚拟空间上的网站备份到百度云么》?? :roll:

    oott123 回复:

    @菠萝, 可以倒是可以,利用PCS的SDK可以写的。只是压缩和上传操作相当耗时。可以尝试用这个脚本搭配cpanel的cronjob试试看。

    这是农场的第 18 块农田,部落批准 [菠萝] 在[2013-3-2 17:04]开垦完成.
  • 小岩 11

    = = 这么牛?

    这是农场的第 19 块农田,部落批准 [小岩] 在[2013-3-2 17:48]开垦完成.
  • 好麻烦啊。。。

    小肥 回复:

    @孤独的北极狐, 好像失效了

    saya 回复:

    @小肥, 刚才测试了下,没失效= =

    这是农场的第 20 块农田,部落批准 [孤独的北极狐] 在[2013-5-22 17:24]开垦完成.
  • 何处揽月

    我初始化时就无法输入appsec,是不是
    Now you have to enter your baidu PSC app secret. If you dont know the secret , keep it blank.
    这一行之后的EOF;前面多了一个占位符啊?

    这是农场的第 21 块农田,部落批准 [何处揽月] 在[2013-8-16 11:43]开垦完成.
  • 百度网盘1T了,这个还能用吗?如果还有效就折腾下

    qi 回复:

    @冰糖葫芦, 现在还有效。

    冰糖葫芦 回复:

    @qi, 好的,谢谢,我去测试一下。

    这是农场的第 22 块农田,部落批准 [冰糖葫芦] 在[2013-8-22 23:33]开垦完成.
  • :sad: ,没有环境安装。 :cry:

    这是农场的第 23 块农田,部落批准 [letry] 在[2013-8-31 10:42]开垦完成.
  • 龙龙 3

    怎么上传整个文件夹????好比同步盘一样同步上去,,只能上传一个文件很蛋疼,几百个文件的话受不了…

    qi 回复:

    @龙龙, 博主是说在VPS主机还是在本地电脑上?本地电脑有自动同步客户端,如果是在VPS主机上,可参考最新的方法:https://www.freehao123.com/baiduyun-linux-vps/

    这是农场的第 24 块农田,部落批准 [龙龙] 在[2013-11-25 03:04]开垦完成.
  • dada 1

    博主:想请教下,现在好像无法得到百度的API了网上搜了下相关文章都是很早以前的了,新的获取方法没有介绍的 。

    博主如果知道方法 能告诉我一下吗 万分感谢:-)

    qi 回复:

    @dada, 你好,新的方法在这里:https://www.freehao123.com/baiduyun-linux-vps/,主要是更新了快速初始化的方法bpcs_uploader设置,在文章的“PS:2014年3月10日更新”部分。

    这是农场的第 25 块农田,部落批准 [dada] 在[2014-3-10 17:22]开垦完成.
  • htmy

    推荐一个金山快盘版纯shell脚本的,感觉更方便些!

    https://github.com/wujiwh/kuaipan_uploader

    qi 回复:

    @htmy, 不错,我去试试看。

    这是农场的第 26 块农田,部落批准 [htmy] 在[2015-5-16 21:35]开垦完成.
看贴要回贴有N种理由!看帖不回贴的后果你懂得的!


(Ctrl + Enter提交)   

部落快速搜索栏

热门点击排行榜

网站导航栏

X
返回顶部