ASP.NET : comment charger le contenu d'une page Web ?
Problématique: on veut charger le contenu des pages Web d'un site, par exemple d'un Intranet dont les pages sont générées à la volée en XSLT.
Contexte : cela est particulièrement utile lorsqu'on veut stocker des pages qui sont générées à la base par des transformations XSLT et qui ne présentent pas toujours des performances extraordinaires. Ainsi, on peut générer ces pages à intervalle donné et les stocker en file system ou en base. Bien entendu c'est valable lorsque le contenu de ces pages ne sont pas mises à jour toutes les 2 minutes.
Sécurité : bien entendu selon l'environnement vous pourriez être obligés de rajouter les informations d'un compte autorisé pour votre proxy ou encore un compte NT pour un accès réseau.
private String LoadPageContent(String pageURL)
{
WebRequest request = null;
WebResponse response = null;
if (pageURL != null)
{
try
{
request = WebRequest.Create(pageURL);
//WebProxy webProxy = new WebProxy(">YourProxyAddress");
//webProxy.Credentials = new NetworkCredential("login", "password");
//request.Proxy = webProxy;
response = request.GetResponse();
Stream streamReceive = response.GetResponseStream();
Encoding encoding = Encoding.GetEncoding("utf-8");
StreamReader streamRead = new StreamReader(streamReceive, encoding);
return streamRead.ReadToEnd();
}
catch (Exception ex)
{
return null;
}
finally
{
response.Close();
}
}
else
{
throw new ArgumentNullException("PageURL cannot be null");
}
}
Happy coding!
Vincent
Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :