private static string GetResponse(HttpWebRequest webRequest, HttpClientAdvancedSettings advancedSettings = null) { string output; HttpWebResponse response = null; if (advancedSettings != null && advancedSettings.Timeout != null) { webRequest.Timeout = advancedSettings.Timeout.Value; } try { response = (HttpWebResponse)webRequest.GetResponse(); output = GetResponseData(response); if (response.StatusCode != HttpStatusCode.OK && response.StatusCode != HttpStatusCode.NoContent) { throw new Exception(string.Format("Status is {0}, code: {1}.", response.StatusCode, (int)response.StatusCode)); } } catch (WebException e) { if (e.Response == null) { throw; } response = (HttpWebResponse)e.Response; if (response == null) { throw; } output = GetResponseData(response); } finally { if (response != null) { response.Close(); } } return(output); }
public static HttpWebRequest CreateWebRequest(string url, HttpClientAdvancedSettings advancedSettings = null) { HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(url); webRequest.AllowAutoRedirect = false; if (advancedSettings == null) { return(webRequest); } if (advancedSettings.Timeout != null) { webRequest.Timeout = advancedSettings.Timeout.Value; } if (!string.IsNullOrEmpty(advancedSettings.User) || !string.IsNullOrEmpty(advancedSettings.Password)) { SetBasicAuthHeader(webRequest, advancedSettings.User, advancedSettings.Password); } return(webRequest); }
public static string GetDataFromUrl(string url, HttpClientAdvancedSettings advancedSettings = null) { HttpWebRequest request = CreateWebRequest(url); return(GetResponse(request)); }