Example #1
0
        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;
        }