public static FileListStruct[] SingleFloder(string access_token, string path) { HttpHelper http = new HttpHelper(); HttpItem item = new HttpItem() { URL = PCSBaseURL + "file?method=list&access_token=" + access_token + "&path=" + Other.Tools.URLEncoding(CheckPath(path), Encoding.UTF8), Encoding = Encoding.UTF8, Timeout = PCS.Timeout }; string result = http.GetHtml(item).Html; if (result.Contains("list")) { var json = (JObject)JsonConvert.DeserializeObject(result); int listCount = json["list"].Count(); FileListStruct[] fileListStruct = new FileListStruct[listCount]; for (int i = 0; i < listCount; i++) { fileListStruct[i].fs_id = Convert.ToUInt64(json["list"][i]["fs_id"]); fileListStruct[i].path = json["list"][i]["path"].ToString(); fileListStruct[i].ctime = Convert.ToUInt32(json["list"][i]["ctime"]); fileListStruct[i].mtime = Convert.ToUInt32(json["list"][i]["mtime"]); fileListStruct[i].md5 = json["list"][i]["md5"].ToString(); fileListStruct[i].size = Convert.ToUInt64(json["list"][i]["size"]); fileListStruct[i].isdir = Convert.ToUInt32(json["list"][i]["isdir"]); } return(fileListStruct); } else { throw new ErrorCodeException(); } }
public static Task <FileListStruct[]> SearchFile(string access_token, string path, string keyword, int traversing = 1) { return(Task.Factory.StartNew(() => { HttpHelper http = new HttpHelper(); HttpItem item = new HttpItem() { URL = PCSBaseURL + "file?method=search&access_token=" + access_token + "&path=" + Other.Tools.URLEncoding(CheckPath(path), Encoding.UTF8) + "&wd=" + Other.Tools.URLEncoding(keyword, Encoding.UTF8) + "&re=" + traversing, Encoding = Encoding.UTF8, Timeout = PCS.Timeout }; string result = http.GetHtml(item).Html; if (result.Contains("list")) { var json = (JObject)JsonConvert.DeserializeObject(result); int listCount = json["list"].Count(); FileListStruct[] fileListStruct = new FileListStruct[listCount]; for (int i = 0; i < listCount; i++) { fileListStruct[i].fs_id = Convert.ToUInt64(json["list"][i]["fs_id"]); fileListStruct[i].path = json["list"][i]["path"].ToString(); fileListStruct[i].ctime = Convert.ToUInt32(json["list"][i]["ctime"]); fileListStruct[i].mtime = Convert.ToUInt32(json["list"][i]["mtime"]); fileListStruct[i].md5 = json["list"][i]["md5"].ToString(); fileListStruct[i].size = Convert.ToUInt64(json["list"][i]["size"]); fileListStruct[i].isdir = Convert.ToUInt32(json["list"][i]["isdir"]); } return fileListStruct; } else { throw new ErrorCodeException(); } })); }
/// <summary> /// Search file or folder /// </summary> /// <param name="keyword">Keyword</param> /// <param name="page">Show page</param> /// <param name="maxNum">Max item number in one page</param> /// <param name="desc">Descent</param> /// <param name="order">Order</param> /// <returns>FileListStruct[]</returns> public static Task <FileListStruct[]> Search(string keyword, int page = 1, int maxNum = 100, int desc = 0, Order order = Order.name) { return(Task.Factory.StartNew(() => { if (!CheckCookie()) { LoadCookie(Setting.Baidu_CookiePath); } string ConvertedKeyword = Other.Tools.URLEncoding(keyword, Encoding.UTF8); HttpHelper http = new HttpHelper(); HttpItem item = new HttpItem() { URL = string.Format("{0}search?recursion=1&key={1}&page={2}&num={3}&desc={4}&order={5}&clienttype=0&showempty=0&web=1&channel=chunlei&app_id=250528", BDCBaseURL, ConvertedKeyword, page, maxNum, desc, order.ToString()), Encoding = Encoding.UTF8, Timeout = BDC.Timeout, Referer = "http://pan.baidu.com/disk/home#search/key=" + ConvertedKeyword, Host = "pan.baidu.com", Cookie = Cookies }; string result = http.GetHtml(item).Html; if (result.Contains("list")) { var json = (JObject)JsonConvert.DeserializeObject(result); int listCount = json["list"].Count(); FileListStruct[] fileListStruct = new FileListStruct[listCount]; for (int i = 0; i < listCount; i++) { fileListStruct[i].fs_id = Convert.ToUInt64(json["list"][i]["fs_id"]); fileListStruct[i].path = json["list"][i]["path"].ToString(); fileListStruct[i].ctime = Convert.ToUInt32(json["list"][i]["server_ctime"]); fileListStruct[i].mtime = Convert.ToUInt32(json["list"][i]["server_mtime"]); fileListStruct[i].size = Convert.ToUInt64(json["list"][i]["size"]); fileListStruct[i].isdir = Convert.ToUInt32(json["list"][i]["isdir"]); if (json["list"][i]["md5"] != null) { fileListStruct[i].md5 = json["list"][i]["md5"].ToString(); } } return fileListStruct; } else { throw new ErrorCodeException(); } })); }