Just a small point, rather than manually having to loop through the received bytes, you could simply use a StreamReader instead. Example:
Code:
private static String Download(String url)
{
String str = String.Empty;
try
{
WebRequest request = WebRequest.Create(url);
WebResponse response = request.GetResponse();
Stream stream = response.GetResponseStream();
StreamReader reader = new StreamReader(stream, Encoding.Default);
str = reader.ReadToEnd();
reader.Close();
stream.Flush();
stream.Close();
response.Close();
}
catch { }
return str;
}