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);
        }
コード例 #3
0
        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());
        }