예제 #1
0
파일: Program.cs 프로젝트: ASPJulien/BSMDLA
        public static void DecodePlaylist()
        {
            OpenFileDialog openFileDialog = new OpenFileDialog();

            if (openFileDialog.ShowDialog() == true)
            {
                try
                {
                    string          playlistJson     = File.ReadAllText(openFileDialog.FileName);
                    PlaylistDetails playlist         = JsonConvert.DeserializeObject <PlaylistDetails>(playlistJson);
                    SaveFileDialog  saveMaFileDialog = new SaveFileDialog();
                    foreach (var map in playlist.songs)
                    {
                        map.hash = map.hash.ToLower();
                    }
                    VistaFolderBrowserDialog openFolderDialog = new VistaFolderBrowserDialog();
                    if (openFolderDialog.ShowDialog() == true)
                    {
                        string FolderPath = openFolderDialog.SelectedPath;
                        foreach (var map in playlist.songs)
                        {
                            using (WebClient wc = new WebClient())
                            {
                                var client = new WebClient();
                                client.Headers.Add("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; " + "Windows NT 5.2; .NET CLR 1.0.3705;)");

                                string response = "";
                                try
                                {
                                    Uri mapUri = new Uri(@"https://beatsaver.com/api/maps/by-hash/" + map.hash);
                                    response = client.DownloadString(mapUri);
                                }
                                catch (Exception e)
                                {
                                    MessageBox.Show("Error");
                                }
                                MapDetails mapdet = new MapDetails();
                                mapdet = JsonConvert.DeserializeObject <MapDetails>(response);
                                Uri    address  = new Uri(urlBase + mapdet.downloadURL);
                                string FileName = FolderPath + @"\" + map.songName + ".zip";
                                DownloadUrl(address, FileName);
                            }
                        }
                    }
                }
                catch (Exception e)
                {
                    MessageBox.Show("Error");
                }
            }
        }
예제 #2
0
파일: Program.cs 프로젝트: ASPJulien/BSMDLA
 public static void ReadLink(string enteredUrl)
 {
     using (WebClient wc = new WebClient())
     {
         var client = new WebClient();
         client.Headers.Add("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; " + "Windows NT 5.2; .NET CLR 1.0.3705;)");
         string response = "";
         try
         {
             response   = client.DownloadString(enteredUrl);
             BSRCorrect = true;
         }
         catch (Exception e)
         {
             BSRCorrect = false;
         }
         mapdetails = JsonConvert.DeserializeObject <MapDetails>(response);
     }
 }