private static async Task <XDocument> FetchAsync(string urlPath) { using (var httpClient = new HttpClient()) { using (var stream = await httpClient.GetStreamAsync(baseUrl + urlPath)) { return(SgmlReader.Parse(stream)); } } }
private static async Task <int> MainAsync(string[] args) { using (var httpClient = new HttpClient()) { using (var stream = await httpClient.GetStreamAsync("https://github.com/")) { var tr = new StreamReader(stream, Encoding.UTF8, true); var document = SgmlReader.Parse(tr); Console.WriteLine(document); return(0); } } }
private static async Task <XDocument> LoadFromUrlAsync(Uri url) { using (var httpClient = new HttpClient()) { httpClient.DefaultRequestHeaders.Add( "User-Agent", "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.3; WOW64; Trident/7.0; Touch; .NET4.0E; .NET4.0C; .NET CLR 3.5.30729; .NET CLR 2.0.50727; .NET CLR 3.0.30729; Tablet PC 2.0)"); Fetching?.Invoke(null, new FetchingEventArgs(url)); try { using (var hs = await httpClient.GetStreamAsync(url)) { var document = SgmlReader.Parse(hs); Fetched?.Invoke(null, new FetchedEventArgs(url, document, null)); return(document); } } catch (Exception ex) { Fetched?.Invoke(null, new FetchedEventArgs(url, null, ex)); throw; } } }
private static XDocument DecodeResponse(Stream stream) { var responseXml = SgmlReader.Parse(stream); return(responseXml); }