public PageDownloadResponse Download(Uri url) { var downloadResponse = new PageDownloadResponse(); var latencyTimer = new Stopwatch(); latencyTimer.Start(); try { var request = (HttpWebRequest)WebRequest.Create(url); request.AllowAutoRedirect = true; request.MaximumAutomaticRedirections = 7; request.UserAgent = configuration.UserAgent; request.Accept = MediaTypeNames.Text.Html; var httpWebResponse = (HttpWebResponse)request.GetResponse(); var responseStream = httpWebResponse.GetResponseStream(); if (responseStream != null) { using (var sr = new StreamReader(responseStream)) { downloadResponse.Contents = sr.ReadToEnd(); sr.Close(); } } downloadResponse.StatusCode = httpWebResponse.StatusCode; downloadResponse.IsSuccessful = true; } catch (Exception ex) { Log.Error(ex); } latencyTimer.Stop(); downloadResponse.Latency = latencyTimer.ElapsedMilliseconds; return(downloadResponse); }
public PageDownloadResponse Download(Uri url) { var downloadResponse = new PageDownloadResponse(); var latencyTimer = new Stopwatch(); latencyTimer.Start(); try { var request = (HttpWebRequest)WebRequest.Create(url); request.AllowAutoRedirect = true; request.MaximumAutomaticRedirections = 7; request.UserAgent = configuration.UserAgent; request.Accept = MediaTypeNames.Text.Html; var httpWebResponse = (HttpWebResponse)request.GetResponse(); var responseStream = httpWebResponse.GetResponseStream(); if (responseStream != null) { using (var sr = new StreamReader(responseStream)) { downloadResponse.Contents = sr.ReadToEnd(); sr.Close(); } } downloadResponse.StatusCode = httpWebResponse.StatusCode; downloadResponse.IsSuccessful = true; } catch (Exception ex) { Log.Error(ex); } latencyTimer.Stop(); downloadResponse.Latency = latencyTimer.ElapsedMilliseconds; return downloadResponse; }