public async Task <YTrackResponse> GetTrackAsync(string trackId) { var request = new YGetTrackResponse(_httpContext).Create(trackId, User.Lang); var track = default(YTrackResponse); using (var response = (HttpWebResponse)await request.GetResponseAsync()) { var data = await GetDataFromResponseAsync(response); var jsonTrack = data["track"]; track = YTrackResponse.FromJson(jsonTrack); _httpContext.Cookies.Add(response.Cookies); } return(track); }
public Uri GetURLDownloadTrack(YTrackResponse track, YandexTrackDownloadInfo downloadInfo) { var key = ""; //downloadInfo.Path.Substring(1, downloadInfo.Path.Length - 1) + downloadInfo.S; using (var md5 = MD5.Create()) { key = GetMdHesh(md5, $"XGRlBW9FXlekgbPrRHuSiA{downloadInfo.Path.Substring(1, downloadInfo.Path.Length - 1)}{downloadInfo.S}"); } var trackDownloadUrl = String.Format("http://{0}/get-mp3/{1}/{2}{3}?track-id={4}®ion=225&from=service-search", downloadInfo.Host, key, downloadInfo.Ts, downloadInfo.Path, track.Id); return(new Uri(trackDownloadUrl)); }