async Task<RootVimeo> LoadContentsImpl(IResourceNetworkLayer networkLayer, IProgress<float> progress, CancellationToken token) { using (var client = networkLayer.Clone()) { client.AddHeaders("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:12.0) Gecko/20100101 Firefox/12.0"); client.AddHeaders("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"); client.AddHeaders("Accept-Language", "ru,en;q=0.8,en-us;q=0.5,uk;q=0.3"); client.SetReferer("http://www.google.com"); var pageData = await client.Get(_originalUrl, token, progress, null, false); string clipId = null; if (Regex.Match(pageData, @"clip_id=(\d+)", RegexOptions.Singleline).Success) { clipId = Regex.Match(pageData, @"clip_id=(\d+)", RegexOptions.Singleline).Groups[1].ToString(); } else if (Regex.Match(pageData, @"(\d+)", RegexOptions.Singleline).Success) { clipId = Regex.Match(pageData, @"(\d+)", RegexOptions.Singleline).Groups[1].ToString(); } if (!string.IsNullOrWhiteSpace(clipId)) { client.SetReferer(string.Format("http://vimeo.com/{0}", clipId)); var configResult = await client.Get(string.Format("http://player.vimeo.com/video/{0}/config", clipId), token, progress, null, false); return JsonConvert.DeserializeObject<RootVimeo>(configResult); } else return null; } }
async Task <RootVimeo> LoadContentsImpl(IResourceNetworkLayer networkLayer, IProgress <float> progress, CancellationToken token) { using (var client = networkLayer.Clone()) { client.AddHeaders("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:12.0) Gecko/20100101 Firefox/12.0"); client.AddHeaders("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"); client.AddHeaders("Accept-Language", "ru,en;q=0.8,en-us;q=0.5,uk;q=0.3"); client.SetReferer("http://www.google.com"); var pageData = await client.Get(_originalUrl, token, progress, null, false); string clipId = null; if (Regex.Match(pageData, @"clip_id=(\d+)", RegexOptions.Singleline).Success) { clipId = Regex.Match(pageData, @"clip_id=(\d+)", RegexOptions.Singleline).Groups[1].ToString(); } else if (Regex.Match(pageData, @"(\d+)", RegexOptions.Singleline).Success) { clipId = Regex.Match(pageData, @"(\d+)", RegexOptions.Singleline).Groups[1].ToString(); } if (!string.IsNullOrWhiteSpace(clipId)) { client.SetReferer(string.Format("http://vimeo.com/{0}", clipId)); var configResult = await client.Get(string.Format("http://player.vimeo.com/video/{0}/config", clipId), token, progress, null, false); return(JsonConvert.DeserializeObject <RootVimeo>(configResult)); } else { return(null); } } }
private static async Task <string> HttpGet(string uri, IResourceNetworkLayer networkLayer, IProgress <float> progress, CancellationToken token) { using (var headeredNetworkLayer = networkLayer.Clone()) { networkLayer.AddHeaders("User-Agent", BotUserAgent); return(await networkLayer.Get(uri, token, progress, null, true)); } }
private async Task <ImgurInfo> GetResponse(string url, IResourceNetworkLayer networkLayer, IProgress <float> progress, CancellationToken token) { if (string.IsNullOrWhiteSpace(_apiKey)) { throw new Exception("ApiKey not set for Imgur, please set it on ImageAquisition.ImgurAPIKey"); } using (var network = networkLayer.Clone()) { network.AddHeaders("Authorization", string.Format("Client-ID {0}", _apiKey)); var responseString = await network.Get(url, token, progress, null, false); return(JsonConvert.DeserializeObject <ImgurInfo>(responseString)); } }
/// <summary> /// Returns the title of the YouTube video. /// </summary> public static async Task <string> GetVideoTitleAsync(string youTubeId, IResourceNetworkLayer networkLayer, IProgress <float> progress, CancellationToken token) { using (var client = networkLayer.Clone()) { client.AddHeaders("User-Agent", BotUserAgent); var html = await client.Get("http://www.youtube.com/watch?v=" + youTubeId + "&nomobile=1", token, progress, null, true); var startIndex = html.IndexOf(" title=\""); if (startIndex != -1) { startIndex = html.IndexOf(" title=\"", startIndex + 1); if (startIndex != -1) { startIndex += 8; var endIndex = html.IndexOf("\">", startIndex); if (endIndex != -1) { return(html.Substring(startIndex, endIndex - startIndex)); } } } return(null); } }
private async Task<ImgurInfo> GetResponse(string url, IResourceNetworkLayer networkLayer, IProgress<float> progress, CancellationToken token) { if (string.IsNullOrWhiteSpace(_apiKey)) { throw new Exception("ApiKey not set for Imgur, please set it on ImageAquisition.ImgurAPIKey"); } using (var network = networkLayer.Clone()) { network.AddHeaders("Authorization", string.Format("Client-ID {0}", _apiKey)); var responseString = await network.Get(url, token, progress, null, false); return JsonConvert.DeserializeObject<ImgurInfo>(responseString); } }
private static async Task<string> HttpGet(string uri, IResourceNetworkLayer networkLayer, IProgress<float> progress, CancellationToken token) { using (var headeredNetworkLayer = networkLayer.Clone()) { networkLayer.AddHeaders("User-Agent", BotUserAgent); return await networkLayer.Get(uri, token, progress, null, true); } }
/// <summary> /// Returns the title of the YouTube video. /// </summary> public static async Task<string> GetVideoTitleAsync(string youTubeId, IResourceNetworkLayer networkLayer, IProgress<float> progress, CancellationToken token) { using (var client = networkLayer.Clone()) { client.AddHeaders("User-Agent", BotUserAgent); var html = await client.Get("http://www.youtube.com/watch?v=" + youTubeId + "&nomobile=1", token, progress, null, true); var startIndex = html.IndexOf(" title=\""); if (startIndex != -1) { startIndex = html.IndexOf(" title=\"", startIndex + 1); if (startIndex != -1) { startIndex += 8; var endIndex = html.IndexOf("\">", startIndex); if (endIndex != -1) return html.Substring(startIndex, endIndex - startIndex); } } return null; } }