Comment puis-je obtenir une adresse Web en C#?Comment puis-je télécharger la source HTML en C#
Répondre
Vous pouvez télécharger des fichiers avec le WebClient class:
using System.Net;
//...
using (WebClient client = new WebClient()) // WebClient class inherits IDisposable
{
client.DownloadFile("http://yoursite.com/page.html", @"C:\localfile.html");
// Or you can get the file content without saving it:
string htmlCode = client.DownloadString("http://yoursite.com/page.html");
//...
}
essentiellement:
using System.Net;
using System.Net.Http; // in LINQPad, also add a reference to System.Net.Http.dll
WebRequest req = HttpWebRequest.Create("http://google.com");
req.Method = "GET";
string source;
using (StreamReader reader = new StreamReader(req.GetResponse().GetResponseStream()))
{
source = reader.ReadToEnd();
}
Console.WriteLine(source);
"cm" chemin est le plus récent, proposé en ms site
mais j'eu un problème difficile à résoudre, largeur les deux méthode affichée ici
maintenant je poste solu tion pour tous! problème
: si vous utilisez une URL comme ceci: « www.somesite.it/?p=1500 » dans certains cas, vous obtenez une erreur de serveur interne (500) bien que dans le navigateur Web de cette « www. somesite.it/?p=1500 "fonctionnent parfaitement. solution
: vous devez déplacer des paramètres (oui est facile), le code de travail est:
using System.Net;
//...
using (WebClient client = new WebClient())
{
client.QueryString.Add("p", "1500"); //add parameters
string htmlCode = client.DownloadString("www.somesite.it");
//...
}
ici la documentation officielle: http://msdn.microsoft.com/en-us/library/system.net.webclient.querystring.aspx
Vous pouvez l'obtenir avec:
var html = new System.Net.WebClient().DownloadString(siteUrl)
Courte et douce! J'ai trouvé votre suggestion après avoir lu l'exemple de Joe Albahari. LINQPad> Aide> Quoi de neuf et recherchez Cache. – Colin
var html = nouveau System.Net.WebClient(). DownloadString (siteUrl); // besoin de refaire votre client! – user1328350
Est-ce que 'Dispose' le' WebClient'? –
Cet article est vraiment vieux (il a 7 ans quand je suis répondre), donc aucune des autres solutions utilisé la nouvelle et recommandée, qui est HttpClient
classe.
HttpClient
est considérée comme nouvelle API et il devrait remplacer l'ancien WebClient
et WebRequest
string url = "page url";
using (HttpClient client = new HttpClient())
{
using (HttpResponseMessage response = client.GetAsync(url).Result)
{
using (HttpContent content = response.Content)
{
string result = content.ReadAsStringAsync().Result;
}
}
}
pour plus d'informations sur l'utilisation de la classe (en particulier dans les cas async) HttpClient
, vous pouvez consulter this question
- 1. Comment télécharger Google SpreadSheets en utilisant C#?
- 2. C# trouver l'image en html et télécharger les
- 3. Télécharger la source de Subsonic 2.2
- 4. Télécharger la source d'un flux RSS Atom
- 5. Syntaxe PHP affichant en source HTML
- 6. comment télécharger un fichier en C# en utilisant webclient?
- 7. Comment puis-je gzip ma source html
- 8. C# WebClient - Voir la question source
- 9. Lien pour télécharger le code source Cassini?
- 10. Comment récupérer du code HTML en C/C++
- 11. Existe-t-il un moteur de rendu HTML Open Source écrit en C#?
- 12. Analyser html en utilisant C
- 13. Comment générer des proxys d'interopérabilité COM en code source C#?
- 14. En utilisant selenium.getBodyText() pour capturer la source HTML, en utilisant Java, comment puis-je l'enregistrer dans un fichier HTML en local?
- 15. télécharger avec la limitation de la bande passante dans C#
- 16. Code source du validateur xml en C
- 17. Open-source pdf bibliothèque en c
- 18. Comment simuler un navigateur Web afin que le site Web me renvoie la bonne source HTML?
- 19. Comment puis-je sélectionner et télécharger plusieurs fichiers avec HTML et PHP, en utilisant HTTP POST?
- 20. Implémentation radix/mtrie open-source en C?
- 21. C# Comment télécharger un fichier sur un serveur PHP?
- 22. IE ne pas charger la page entière code source HTML
- 23. Comment compiler un projet C# de la source
- 24. comment télécharger page Web avec Flash
- 25. Besoin d'aide pour analyser HTML en C#
- 26. Positionner le bouton HTML dynamiquement en C#
- 27. Télécharger le code source de l'application GAE déployée
- 28. Comment: compiler des fichiers source C++ générés?
- 29. Comment obtenir les coordonnées d'un élément HTML en utilisant C#?
- 30. Puis-je télécharger un fichier sur une API Web à l'aide d'un fichier Web en tant que source en streaming?
A noter: si plus de contrôle est nécessaire, regardez la classe HttpWebRequest (par exemple, pouvoir spécifier l'authentification). – Richard
Oui, HttpWebRequest vous donne plus de contrôle, bien que vous puissiez faire des requêtes POST avec WebClient, en utilisant client.UploadData (uriString, "POST", postParamsByteArray); – CMS
Ne serait-il pas prudent d'attraper WebException autour de cela? Peut-être que c'était supposé. D'autres exceptions ou erreurs doivent être détectées avec cette méthode? –