76 votes

Comment je peux obtenir la page web de contenu et l'enregistrer dans la variable de chaîne

salut les gens
Comment je peux obtenir le contenu de la page web à l'aide de asp.net ? Je veux enregistrer du code html d'un site web dans la variable de chaîne de comment je peux faire cela ? Je veux dire qu'il est le web site j'ai besoin d'écrire un programme pour obtenir la page et de le stocker dans une variable de chaîne.

119voto

dhinesh Points 2175

Vous pouvez utiliser le client web

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

73voto

Scott Points 5497

J'ai rencontré des problèmes avec Webclient.Downloadstring 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();
string html = String.Empty;
using (StreamReader sr = new StreamReader(data))
{
    html = sr.ReadToEnd();
}

29voto

user2246674 Points 5511

Je vous recommande de ne pas utiliser WebClient.DownloadString. C'est parce que (au moins dans .NET 3.5) DownloadString n'est pas assez intelligent pour utiliser/suppression de la NOMENCLATURE, doit-il être présent. Cela peut entraîner dans la NOMENCLATURE () incorrecte apparaissant comme partie de la chaîne lorsque des données UTF-8 est de retour (au moins sans un charset) - ick!

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

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();
    }
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X