Пример #1
0
        public static int Get115PagesInFolder(OneOneFiveSearchType type, int pageSize = 1, string folder = "1834397846621504875")
        {
            var url = $"https://webapi.115.com/files?aid=1&cid={folder}&o=user_ptime&asc=0&offset=0&show_dir=1&limit={pageSize}&code=&scid=&snap=0&natsort=1&record_open_time=1&source=&format=json&type={((int)type).ToString()}";
            var cc  = Get115Cookie();

            var htmlRet = HtmlManager.GetHtmlWebClient("https://webapi.115.com", url, cc);

            if (htmlRet.Success)
            {
                if (!string.IsNullOrEmpty(htmlRet.Content))
                {
                    var data = JsonConvert.DeserializeObject <FileListModel>(htmlRet.Content);

                    if (data != null && data.count > 0)
                    {
                        if (data.data == null)
                        {
                            return(data.count % pageSize == 0 ? data.count / pageSize : data.count / pageSize + 1);
                        }

                        return(data.count % data.page_size == 0 ? data.count / data.page_size : data.count / data.page_size + 1);
                    }
                }
            }

            return(0);
        }
Пример #2
0
        public static FileListModel GetOneOneFileInFolder(string folder, OneOneFiveSearchType type, int page = 0, int pageSize = 1150)
        {
            FileListModel ret = new FileListModel();
            var           cc  = Get115Cookie();
            var           url = $"https://webapi.115.com/files?aid=1&cid={folder}&o=user_ptime&asc=0&offset={page}&show_dir=1&limit={pageSize}&code=&scid=&snap=0&natsort=1&record_open_time=1&source=&format=json&type={((int)type).ToString()}&star=&is_q=&is_share=";

            var htmlRet = HtmlManager.GetHtmlWebClient("https://115.com", url, cc);

            if (htmlRet.Success)
            {
                if (!string.IsNullOrEmpty(htmlRet.Content))
                {
                    ret = JsonConvert.DeserializeObject <FileListModel>(htmlRet.Content);

                    if (ret.data == null)
                    {
                        ret = GetMixedOneOneFileInFolder(folder, page, pageSize);
                    }
                }
            }

            return(ret);
        }
Пример #3
0
        public async static Task <int> Get115PagesInFolder(OneOneFiveSearchType type, string folder, int pageSize = 1)
        {
            var url = $"https://webapi.115.com/files?aid=1&cid={folder}&o=user_ptime&asc=0&offset=0&show_dir=1&limit={pageSize}&code=&scid=&snap=0&natsort=1&record_open_time=1&source=&format=json&type={((int)type).ToString()}";

            var res = await GetOneOneFiveContent(url);

            if (!string.IsNullOrEmpty(res))
            {
                var data = JsonConvert.DeserializeObject <OneOneFiveFileListModel>(res);

                if (data != null && data.count > 0)
                {
                    if (data.data == null)
                    {
                        return(data.count % pageSize == 0 ? data.count / pageSize : data.count / pageSize + 1);
                    }

                    return(data.count % data.page_size == 0 ? data.count / data.page_size : data.count / data.page_size + 1);
                }
            }

            return(0);
        }
Пример #4
0
        public static List <FileItemModel> Get115FilesModel(string folder = "1834397846621504875", OneOneFiveSearchType type = OneOneFiveSearchType.All)
        {
            List <FileItemModel> list = new List <FileItemModel>();

            var pages = OneOneFiveService.Get115PagesInFolder(type, 1150, folder);

            for (int i = 0; i < pages; i++)
            {
                var files = OneOneFiveService.GetOneOneFileInFolder(folder, type, i * 1150, 1150);

                if (files != null && files.data != null)
                {
                    list.AddRange(files.data);
                }
            }

            return(list);
        }
Пример #5
0
        public async static Task <List <OneOneFiveFileItemModel> > Get115SearchFileResult(string content, string folder, bool searchAccurate, int offset = 0, int limit = 1050, OneOneFiveSearchType searchType = OneOneFiveSearchType.All)
        {
            OneOneFiveFileListModel temp = new OneOneFiveFileListModel();

            string resContent = "";

            var url = string.Format(string.Format($"https://webapi.115.com/files/search?search_value={content}&format=json&offset={offset}&limit={limit}&cid={folder}&type={(int)searchType}"));

            resContent = await GetOneOneFiveContent(url);

            if (!string.IsNullOrEmpty(resContent))
            {
                temp = JsonConvert.DeserializeObject <OneOneFiveFileListModel>(resContent);
            }


            return((temp == null || temp.data == null) ? null : searchAccurate?temp.data.Where(x => !string.IsNullOrEmpty(x.fid) && x.n.Contains(content, StringComparison.OrdinalIgnoreCase)).ToList() : temp.data);
        }
Пример #6
0
        public async static Task <List <OneOneFiveFileItemModel> > Get115AllFilesModel(string folder, OneOneFiveSearchType type = OneOneFiveSearchType.All)
        {
            List <OneOneFiveFileItemModel> list = new List <OneOneFiveFileItemModel>();

            var pages = await Get115PagesInFolder(type, folder, 1150);

            for (int i = 0; i < pages; i++)
            {
                var files = await GetOneOneFileInFolder(folder, type, i * 1150, 1150);

                if (files != null && files.data != null)
                {
                    list.AddRange(files.data);
                }
            }

            return(list);
        }
Пример #7
0
        public async static Task <OneOneFiveFileListModel> GetOneOneFileInFolder(string folder, OneOneFiveSearchType type, int page = 0, int pageSize = 1150)
        {
            OneOneFiveFileListModel ret = new();

            var url = $"https://webapi.115.com/files?aid=1&cid={folder}&o=user_ptime&asc=0&offset={page}&show_dir=1&limit={pageSize}&code=&scid=&snap=0&natsort=1&record_open_time=1&source=&format=json&type={((int)type).ToString()}&star=&is_q=&is_share=";

            var res = await GetOneOneFiveContent(url);

            if (!string.IsNullOrEmpty(res))
            {
                ret = JsonConvert.DeserializeObject <OneOneFiveFileListModel>(res);

                if (ret.data == null)
                {
                    ret = await GetMixedOneOneFileInFolder(folder, page, pageSize);
                }
            }

            return(ret);
        }