如何用wget下載七牛
七牛是個好東東。但是其工具qrsync只能往上sync不能往下sync。相當的不方便麼。官方只提供了一個list的介面和例程。http://developer.qiniu.com/docs/v6/sdk/java-sdk.html#rsf-listPrefix
如何用最偷懶的辦法把七牛上的資料拖下來呢?稍微改下例程.
/**
* Created by fangjian on 14-12-1.
* 把生成的index.html檔案放到microcard.qiniudn.com下
* 使用wget命令映象站點
* wget -c -m http://<你的bucket>.qiniudn.com/index.html
*/
import com.qiniu.api.auth.digest.Mac;
import com.qiniu.api.config.Config;
import com.qiniu.api.rsf.ListItem;
import com.qiniu.api.rsf.ListPrefixRet;
import com.qiniu.api.rsf.RSFClient;
import com.qiniu.api.rsf.RSFEofException;
import java.io.FileNotFoundException;
import java.io.PrintWriter;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.List;
public class ListPrefix {
public static void main(String[] args) throws FileNotFoundException, UnsupportedEncodingException {
// List<ListItem> all=fakeList();//for test
List<ListItem> all=getList();
printList(all);
buildHtml(all);
}
public static List<ListItem> getList(){
final String bucketName="<你的bucket>";
Config.ACCESS_KEY = "<你的ACCESS_KEY>";
Config.SECRET_KEY = "<你的SECRET_KEY>";
Mac mac = new Mac(Config.ACCESS_KEY, Config.SECRET_KEY);
RSFClient client = new RSFClient(mac);
String marker = "";
List<ListItem> all = new ArrayList<ListItem>();
ListPrefixRet ret = null;
while (true) {
ret = client.listPrifix(bucketName, "", marker, 1000);
marker = ret.marker;
all.addAll(ret.results);
if (!ret.ok()) {
// no more items or error occurs
break;
}
}
if (ret.exception.getClass() != RSFEofException.class) {
// error handler
}
return all;
}
public static void printList(List<ListItem> all){
for(ListItem item:all){
System.out.println(item.key);
}
}
public static List<ListItem> fakeList(){
ListItem a=new ListItem();
a.key="abc";
ListItem b=new ListItem();
b.key="def";
ArrayList<ListItem> listItems=new ArrayList<ListItem>();
listItems.add(a);
listItems.add(b);
return listItems;
}
public static void buildHtml(List<ListItem> all) throws FileNotFoundException, UnsupportedEncodingException {
PrintWriter writer = new PrintWriter("index.html", "UTF-8");
writer.println("<HTML><BODY>");
for(ListItem item:all){
writer.println(makeALink(item.key));
}
writer.println("</BODY><HTML>");
writer.close();
}
public static String makeALink(String href){
String link="<a href='"+href+"'>"+href+"</a><br/>";
return link;
}
}
執行程式會得到一個index.html,把這個index.html上傳到七牛。
然後用wget -c -m http://<你的bucket>.qiniudn.com/index.html
大功告成!
相關文章
- wget遞迴下載wget遞迴
- 寫了一個七牛備份下載工具: Qiniu Backup
- Linux基礎命令---wget下載工具Linuxwget
- PowerShell實現檔案下載(類wget)wget
- wget下載整個網站的方法wget網站
- 動手實操 | 如何用七牛雲 API 實現相片地圖?API地圖
- wget下載提示:無法建立SSL連線wget
- wget 整站下載wget
- 七牛雲OSSUtil
- golang七牛雲操作Golang
- 使用wget命令下載JDK失敗(檔案特別小)wgetJDK
- 七牛雲 goc docker 部署GoDocker
- 七牛雲物件儲存物件
- 七牛雲:呼叫七牛OCR介面,幾行程式碼識別身份證資訊行程
- 如何用python爬蟲下載小說?Python爬蟲
- 如何用程式下載網上檔案
- Mac OS下安裝wgetMacwget
- ThinkPHP之七牛雲儲存PHP
- 七牛網資料備份
- thinkphp 增加七牛上傳功能PHP
- 七牛儲存使用筆記筆記
- 方便的網路下載工具wget 可下載網站目錄下的所有檔案(可下載整個網站)wget網站
- [七牛雲] 招聘前端開發工程師,來七牛,做你最喜歡的開發!前端工程師
- 使用wget命令進行整站下載wget
- 七牛圖床圖片轉移圖床
- 快速使用七牛雲物件儲存物件
- 七牛與 Ueditor 的那些事兒
- 七牛圖片上傳JSSDKJS
- 如何用 Python 指令碼批量下載 Google 影象?Python指令碼Go
- 使用七牛雲PHP-SDK將網上圖片上傳到自己的七牛雲空間PHP
- Laravel 上傳圖片到七牛雲Laravel
- PHP上傳檔案到七牛(Qiniu)PHP
- php實現七牛雲相關操作PHP
- 圖片儲存-從七牛到 GithubGithub
- Laravel——圖片上傳之七牛雲Laravel
- react ts 使用七牛 傳輸圖片React
- 七牛雲 GO 語言週報【七月第 1 期】Go
- wgetwget