public static string DownloadWebsiteAsString(WebRequest request) { if (request == null) { throw new ArgumentNullException(nameof(request)); } string response = string.Empty; using (HttpWebResponse resp = (HttpWebResponse)request.GetResponseExt()) { if (resp == null) { request?.Abort(); } else { if (resp.StatusCode == HttpStatusCode.OK) { using (StreamReader sr = new StreamReader(resp.GetResponseStream())) { try { response = sr.ReadToEnd(); } catch (Exception ex) { string message = string.Format(CultureInfo.CurrentCulture, "Requesting {0} failed with code {1}", request.RequestUri.AbsoluteUri, resp.StatusCode.ToString()); LogException(ex, message); response = string.Empty; } } } else { string message = string.Format(CultureInfo.CurrentCulture, "Request failed: {0}", resp.StatusCode); LogMessage(message); } } } return response; }