Comment puis-je obtenir le contenu d’une page Web et l’enregistrer dans la variable chaîne

Comment puis-je obtenir le contenu de la page Web en utilisant ASP.NET? Je dois écrire un programme pour obtenir le code HTML d’une page Web et le stocker dans une variable de chaîne.

Vous pouvez utiliser le WebClient

WebClient client = new WebClient(); ssortingng downloadSsortingng = client.DownloadSsortingng("http://www.gooogle.com"); 

J’ai rencontré des problèmes avec Webclient.Downloadssortingng avant. Si vous le faites, vous pouvez essayer ceci:

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

Je recommande de ne pas utiliser WebClient.DownloadSsortingng . C’est parce que (au moins dans .NET 3.5) DownloadSsortingng n’est pas assez intelligent pour utiliser / supprimer la nomenclature, si elle est présente. Cela peut entraîner l’apparition incorrecte de la nomenclature (  ) dans la chaîne lorsque les données UTF-8 sont renvoyées (au moins sans jeu de caractères) – ick!

Au lieu de cela, cette légère variation fonctionnera correctement avec les nomenclatures:

 ssortingng ReadTextFromUrl(ssortingng 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(); ssortingng content = client.DownloadSsortingng(url); 

Passez l’URL de la page que vous souhaitez obtenir. Vous pouvez parsingr le résultat en utilisant htmlagilitypack.