public string GetPageHTML(string pageUrl, int timeoutSeconds)
{
System.Net.WebResponse response = null;
try
{
// Setup our Web request
System.Net.WebRequest request = System.Net.WebRequest.Create(pageUrl);
HttpRequestCachePolicy noCachePolicy = new HttpRequestCachePolicy(HttpRequestCacheLevel.NoCacheNoStore);
request.CachePolicy = noCachePolicy;
try
{
request.Proxy.Credentials = System.Net.CredentialCache.DefaultNetworkCredentials;
}
catch (Exception proxyE)
{
PumpString("Error setting proxy server: " + proxyE.Message, false, false, new Version(), false, "");
}
request.Timeout = timeoutSeconds * 1000;
// Retrieve data from request
response = request.GetResponse();
System.IO.Stream streamReceive = response.GetResponseStream();
System.Text.Encoding encoding = System.Text.Encoding.GetEncoding("utf-8");
System.IO.StreamReader streamRead = new System.IO.StreamReader(streamReceive, encoding);
// return the retrieved HTML
return streamRead.ReadToEnd();
}
catch (Exception ex)
{
// Error occured grabbing data, return empty string.
PumpString("An error occurred while retrieving the HTML content. " + ex.Message, false, false, new Version(), false, "");
return "";
}
finally
{
// Check if exists, then close the response.
if (response != null)
{
response.Close();
}
}
}