$7.49 .com domain with free InstantPage Website Builder$1.99 Web Hosting   捷飞网络官方淘宝店   Godaddy 优惠码
返回列表 发帖
分享到:




[应用&技术] 分享bpcs_uploader百度网盘自动上传脚本-将文件一键放到百度云

本帖最后由 逸乐吱声 于 2014-9-25 11:25 编辑 - P/ G/ n$ C0 J# c. Q
6 {0 ]- _1 l. Q1 v' \5 e9 i

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

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

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

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

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


& p3 G5 n" S2 ?6 C* ~7 yPS:2013年11月25日更新,bpcs_uploader详细使用的图文教程:打造百度网盘备份利器:自动备份Linux VPS文件和多线程下载百度网盘资源

一、bpcs_uploader下载和使用

1、项目主页:

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 viahttp://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.
5 d$ R8 ]; e2 d" o& k3 {( H
# O$ J: ~$ S) T3 ~) z, y如果你看到这里,说明你可以直接输入文字了
( u) Y7 R* e2 a# @5 VIf 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,所以直接回车即可。

  1. Now you have to get your oauth accesstoken by your own .Here is a reference document .

  2. http://developer.baidu.com/wiki/index.php?title=docs/pcs/guide/usageexample

  3. A simple guide :
  4. 1.visit https://openapi.baidu.com/oauth/2.0/authorize?responsetype=token&clientid=L6g70tBRRIXLsY0Z3HwKqlRE&redirecturi=oob&scope=netdisk
  5. in your broswer.
  6. 2.when it redirected to a html page , copy the url to the notepad.
  7. 3.get the accesstoken from it , paste it and press Enter. access_token[] :
复制代码

( G! _; e1 }, Q- N+ W/ ~: o- @9、第四步,获取access token。在浏览器中打开上述URL(
  1. 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 CurrentDload Upload Total Spent Left Speed0 62 0 62 0 0 40 0 --:--:-- 0:00:01 --:--:-- 235Success . 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上测试通过,其它系统欢迎测试。


# ?+ Y5 T. D1 f4 N8 j' r

参考:

http://best33.com/34.moe

http://www.freehao123.com/bpcs_uploader/





返回列表
Namecheap
Namecheap.com - Cheap domain name registration, renewal and transfers - Free SSL Certificates - Web Hosting
互联网安全