Esempio n. 1
0
        public override WebRequestHeaders GetUrlContent()
        {
            Salt = GetSalt();
            var signature = GetSignature(Track, Salt);

            UrlData.Clear();
            UrlData.Add(new WebRequestHeader(Track.StoreId.StartsWith("T") ? "mjck" : "songid", Track.StoreId));
            UrlData.Add(new WebRequestHeader("opt", GetQualityString(StreamQuality)));
            UrlData.Add(new WebRequestHeader("net", OnWifi ? "wifi" : "mob"));
            UrlData.Add(new WebRequestHeader("pt", "e")); //needed?
            UrlData.Add(new WebRequestHeader("p", "1"));  //needed?
            UrlData.Add(new WebRequestHeader("slt", Salt));
            UrlData.Add(new WebRequestHeader("sig", signature));
            UrlData.Add(new WebRequestHeader("hl", Locale));
            UrlData.Add(new WebRequestHeader("tier", "aa"));
            return(base.GetUrlContent());
        }
Esempio n. 2
0
        private async void AnalyzeUrl(object parameter)
        {
            if (string.IsNullOrEmpty(_filePath))
            {
                return;
            }

            State = MainWindowState.Work;
            UrlData.Clear();

            try
            {
                UrlCount = File.ReadAllLines(_filePath).Count();
                var urls = File.ReadAllLines(_filePath).ToList();

                await Task.Factory.StartNew(() =>
                {
                    for (int i = 0; i < urls.Count; i++)
                    {
                        try
                        {
                            BaseUrlInfo baseUrlInfo;
                            if (_linkExtractor.TryGetUrl(out baseUrlInfo, urls[i], 1000, _cancellationTokenSource.Token))
                            {
                                Application.Current.Dispatcher.Invoke(() =>
                                {
                                    UrlData.Add(baseUrlInfo);
                                    CurrentUrlState = i + 1;
                                });
                            }
                        }
                        catch (Exception ex)
                        {
                            var exc = ex;
                        }
                    }
                }, _cancellationTokenSource.Token);
            }
            catch
            {
            }

            State = MainWindowState.Idle;
        }