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()); }
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; }