コード例 #1
0
ファイル: PCS.cs プロジェクト: zorrock/BaiduCloudSupport
        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();
            }
        }
コード例 #2
0
ファイル: PCS.cs プロジェクト: zorrock/BaiduCloudSupport
 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();
         }
     }));
 }
コード例 #3
0
ファイル: BDC.cs プロジェクト: zorrock/BaiduCloudSupport
        /// <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();
                }
            }));
        }