I’m trying to create a method in C# to return a string of a web pages html content from the url. I have tried several different ways, but I am getting the error System.Net.WebException: The underlying connection was closed: An unexpected error occurred on a receive.
The following works fine locally, but gets the above error when running on a remote server:
public static string WebPageRead(string url) { string result = String.Empty; WebResponse response = null; StreamReader reader = null; try { if (!String.IsNullOrEmpty(url)) { HttpWebRequest request = HttpWebRequest.Create(url) as HttpWebRequest; request.Method = 'GET'; request.KeepAlive = false; request.ProtocolVersion = HttpVersion.Version10; response = request.GetResponse(); reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8); result = reader.ReadToEnd(); } } catch (Exception exc) { throw exc; } finally { if (reader != null) { reader.Close(); } if (response != null) { response.Close(); } } return result; }
Thanks for the responses, the problem was due to a DNS issue on the remote server! Just to confirm, I went with the following code in the end: