La base è questa, il namespace dei metodi WebRequest, WebResponse e della classe statica HttpWebRequest stanno in System.net.
codice:
class Program
{
static void Main(string[] args)
{
//Richiesta http
WebRequest request = HttpWebRequest.Create("http://www.google.it");
WebResponse response = request.GetResponse();
//Se la risposta non è una stringa html non vado avanti
//Questo controllo lo puoi gestire come meglio credi
string contentType = response.Headers[HttpResponseHeader.ContentType];
if (contentType.Contains("text/html"))
{
//Riversa la risposta http in uno stream
Stream stream = response.GetResponseStream();
//Leggo lo stream con un metodo adhoc
string htmlString = LeggiStreamHtml(stream);
//leggo gli indirizzi di posta elettronica e faccio partire lo spam... :)
}
}
private static string LeggiStreamHtml(Stream stream)
{
StreamReader reader = new StreamReader(stream);
StringBuilder sb = new StringBuilder();
while (!reader.EndOfStream)
sb.Append(reader.ReadLine());
return sb.ToString();
}
}