The following takes an input Url and will make a web request and return a string with the web server's returned data. It uses the .NET System.Net.WebRequest. It accepts a Url, a post type, post data, and a timeout value.
public static string GetWebResponse(string url, string httpMethod, string postData = "", int timeOutInSeconds = 10)
{
string responseData = "";
try
{
httpMethod = httpMethod.ToUpper();
System.Net.HttpWebRequest webRequest = null;
System.IO.StreamWriter requestStreamWriter = null;
webRequest = System.Net.WebRequest.Create(url) as System.Net.HttpWebRequest;
webRequest.Method = httpMethod;
webRequest.ServicePoint.Expect100Continue = false;
//webRequest.UserAgent = "";
webRequest.Timeout = timeOutInSeconds * 1000;
if (webRequest.Method == "POST")
{
webRequest.ContentType = "application/x-www-form-urlencoded";
requestStreamWriter = new System.IO.StreamWriter(webRequest.GetRequestStream());
try
{
if (!string.IsNullOrEmpty(postData))
{
requestStreamWriter.Write(postData);
}
}
catch
{
throw;
}
finally
{
requestStreamWriter.Close();
requestStreamWriter = null;
}
}
System.IO.StreamReader responseReader = null;
try
{
responseReader = new System.IO.StreamReader(webRequest.GetResponse().GetResponseStream());
responseData = responseReader.ReadToEnd();
}
catch
{
throw;
}
finally
{
webRequest.GetResponse().GetResponseStream().Close();
responseReader.Close();
responseReader = null;
webRequest = null;
}
webRequest = null;
}
catch (Exception ex)
{
}
return responseData;
}