Cómo puedo obtener el contenido de la página web y guardarlo en la variable de cadena

¿Cómo puedo obtener el contenido de la página web usando ASP.NET? Necesito escribir un progtwig para obtener el HTML de una página web y almacenarlo en una variable de cadena.

Puedes usar el WebClient

WebClient client = new WebClient(); string downloadString = client.DownloadString("http://www.gooogle.com"); 

Me he encontrado con problemas con Webclient.Downloadstring antes. Si lo haces, puedes intentar esto:

 WebRequest request = WebRequest.Create("http://www.google.com"); WebResponse response = request.GetResponse(); Stream data = response.GetResponseStream(); string html = String.Empty; using (StreamReader sr = new StreamReader(data)) { html = sr.ReadToEnd(); } 

Recomiendo no usar WebClient.DownloadString . Esto se debe a que (al menos en .NET 3.5) DownloadString no es lo suficientemente inteligente como para usar / eliminar la lista de materiales, en caso de que estuviera presente. Esto puede provocar que la lista de materiales (  ) aparezca incorrectamente como parte de la cadena cuando se devuelven datos UTF-8 (al menos sin un juego de caracteres) – ick!

En cambio, esta pequeña variación funcionará correctamente con listas de materiales:

 string ReadTextFromUrl(string url) { // WebClient is still convenient // Assume UTF8, but detect BOM - could also honor response charset I suppose using (var client = new WebClient()) using (var stream = client.OpenRead(url)) using (var textReader = new StreamReader(stream, Encoding.UTF8, true)) { return textReader.ReadToEnd(); } } 
 Webclient client = new Webclient(); string content = client.DownloadString(url); 

Pase la URL de la página que desea obtener. Puede analizar el resultado usando htmlagilitypack.