Ejemplo n.º 1
0
        /// <summary>
        /// 获取文件下载地址
        /// </summary>
        /// <param name="FileID"></param>
        /// <param name="FolderID"></param>
        /// <returns></returns>
        public static string GetFileDownUrl(int FileID, int FolderID)
        {
            if (!Directory.Exists(PublicConfig.CacheDir))
            {
                Directory.CreateDirectory(PublicConfig.CacheDir);
            }

            string CachePath = $"{PublicConfig.CacheDir}\\floder{NewC.Get_MD5(FileID.ToString(), false)}";

            if (File.Exists(CachePath))
            {
                return(File.ReadAllText(CachePath));
            }
            for (int page = 1; page <= 11; page++)
            {
                string Data = NewC.GET_HTTP(PublicConfig.File.GetUserDownUrl.Replace("{skip}", ((page - 1) * 100).ToString()).Replace("{folderid}", FolderID.ToString()), PublicConfig.Cookie, false);
                if (Data == "")
                {
                    return(FileID.ToString());
                }
                Dictionary <string, object> Dic = JsonToDictionary.JSONToObject <Dictionary <string, object> >(Data);
                ArrayList AL = (ArrayList)Dic["aaData"];
                foreach (ArrayList item in AL)
                {
                    if (item[1].ToString().Contains(FileID.ToString()))
                    {
                        string Url = NewC.GetString(item[1].ToString(), "href=\"", "\">", false, 0);
                        File.WriteAllText(CachePath, Url);
                        return(Url);
                    }
                }
            }
            return(FileID.ToString());
        }
Ejemplo n.º 2
0
        public Login(string Username, string Password)
        {
            PublicConfig.Username = Username;
            if (!Directory.Exists(PublicConfig.CacheDir))
            {
                Directory.CreateDirectory(PublicConfig.CacheDir);
            }

            UserCachePath = $"{PublicConfig.CacheDir}\\{NewC.Get_MD5(Username, false)}";
            if (File.Exists(UserCachePath))
            {
                string Cookie = File.ReadAllText(UserCachePath, Encoding.UTF8);
                if (IsLogin(Cookie))
                {
                    //已经登陆过了
                    PublicConfig.Cookie = Cookie;
                    Console.WriteLine("登录还未失效:" + Username);
                    return;
                }
            }

            if (PublicConfig.DaMaTu.Username == string.Empty || PublicConfig.DaMaTu.Password == string.Empty)
            {
                throw new Exception("验证码识别平台账号未初始化。\r\n请先设置验证码识别平台的账号密码:PublicConfig.DaMaTu.Username与PublicConfig.DaMaTu.Password\r\n验证码识别平台:dama2.com");
            }
            string[] VerCodeAndCookie = GetVerCode();
            LoginCtFile(Username, Password, VerCodeAndCookie[0], VerCodeAndCookie[1]);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// 通过文件名获取文件ID
        /// </summary>
        /// <param name="Name"></param>
        /// <returns></returns>
        public static int GetFolderID(string Name)
        {
            if (!Directory.Exists(PublicConfig.CacheDir))
            {
                Directory.CreateDirectory(PublicConfig.CacheDir);
            }

            string CachePath = $"{PublicConfig.CacheDir}\\floder{NewC.Get_MD5(Name + PublicConfig.Username, false)}";

            if (File.Exists(CachePath))
            {
                return(Convert.ToInt32(File.ReadAllText(CachePath)));
            }
            for (int page = 1; page <= 11; page++)
            {
                string Data = NewC.GET_HTTP(PublicConfig.Folder.ListUrl.Replace("{skip}", ((page - 1) * 100).ToString()), PublicConfig.Cookie, false);
                if (Data == "")
                {
                    return(0);
                }
                Dictionary <string, object> Dic = JsonToDictionary.JSONToObject <Dictionary <string, object> >(Data);
                ArrayList AL = (ArrayList)Dic["aaData"];
                foreach (ArrayList item in AL)
                {
                    if (item[1].ToString().Contains(Name))
                    {
                        string ID    = NewC.GetString(item[1].ToString(), "folder_id-", "\"", false, 0);
                        int    OutID = 0;
                        if (!int.TryParse(ID, out OutID))
                        {
                            ID = NewC.GetString(item[0].ToString(), "value=\"", "\" ", false, 0);
                        }
                        int.TryParse(ID, out OutID);
                        if (OutID > 0)
                        {
                            File.WriteAllText(CachePath, OutID.ToString());
                        }
                        return(OutID);
                    }
                }
            }
            return(0);
        }