public IList <string> GetLinks(string fromUrl, string selector, string textInTitle) { if (string.IsNullOrEmpty(fromUrl)) { return(new List <string>()); } try { var timing = ExecutionTimer.GetTiming(() => _httpGet.Get(fromUrl, null, null)); _logger.Debug("Downloaded standard page", new Dictionary <string, object> { { "Url", fromUrl } }); var parser = new HtmlParser(); var result = parser.Parse(timing.Result); var all = result.QuerySelectorAll(selector); return(all.Where(x => x.TextContent.Contains(textInTitle)).Select(x => x.GetAttribute("href")).ToList()); } catch (Exception ex) { _logger.Warn(ex, "AngleSharp"); return(null); } }
public ApprenticeshipDetails GetCourseByStandardCode(int ukprn, int locationId, string standardCode) { var url = string.Format( "{0}standards/{1}/providers?ukprn={2}&location={3}", _fatSettings.FatApiBaseUrl.AddSlash(), standardCode, ukprn, locationId); var result = JsonConvert.DeserializeObject <ApprenticeshipDetails>(_httpService.Get(url, null, null)); if (result == null) { throw new ApplicationException($"Failed to get framework with id {standardCode}"); } return(result); }
public string Get(string url) { var timing = ExecutionTimer.GetTiming(() => _httpHelper.Get(url, _appServiceSettings.GitUsername, _appServiceSettings.GitPassword)); var logEntry = new DependencyLogEntry { Identifier = "VstsContent", ResponseTime = timing.ElaspedMilliseconds, Url = url }; _logger.Debug("VSTS content", logEntry); return(timing.Result); }
public IList <string> GetLinks(string url, string selector, string textInTitle) { if (string.IsNullOrEmpty(url)) { return(new List <string>()); } var urlDetails = _httpGet.Get(url); var parser = new HtmlParser(); var result = parser.Parse(urlDetails); var allMatchingItems = result.QuerySelectorAll(selector); return(allMatchingItems .Where(x => x.InnerHtml.Trim().StartsWith(textInTitle, StringComparison.OrdinalIgnoreCase)) .Select(x => x.GetAttribute("href")) .ToList()); }