Récupérer le contenu d'une page web

Soyez le premier à donner votre avis sur cette source.

Snippet vu 38 391 fois - Téléchargée 35 fois

Contenu du snippet

Voici un extrait d'un webservice que j'ai réalisé il y a peu de temps. Cette fonction renvoi un string contenant le contenu HTML d'une page web située sur un serveur distant.

Source / Exemple :


public string PrincipalFrenchChannels()
{
	Uri uri = new Uri("http://www.programme-tv.net/");

	// crée un objet de requête avec l'URI spécifié
	WebRequest request = WebRequest.Create(uri);

	// envoi la requête créee au serveur
	WebResponse response = request.GetResponse();

	// objet de lecture nous permettant de réceptionner le contenu
	// de la réponse du serveur
	StreamReader sr = null;

	try
	{
		// response.GetResponseStream() renvoi un objet
		// de type Stream identifiant le flux de données
		// entre le client (ce programme) et le serveur
		sr = new StreamReader(response.GetResponseStream());
		// lit le flux jusqu'à sa fin
		// (fermeture de la connexion automatique)
		return sr.ReadToEnd();
	}
	catch
	{
		return null;
	}
	finally
	{
		// dans le cas d'une execution sans erreur
		// on prends soin de fermer l'objet de lecture
		// cela facilite le travail du CLR
		if (sr != null)
			sr.Close();
	}
}

Conclusion :


La classe Uri se trouve dans le namespace "System"
Les classes WebRequest et WebResponse dans "System.Net"
La classe StreamReader dans "System.IO"

A voir également

Ajouter un commentaire Commentaires
cs_sangoan Messages postés 2 Date d'inscription dimanche 14 septembre 2003 Statut Membre Dernière intervention 28 juin 2005
25 juil. 2007 à 18:24
// dans le cas d'une execution sans erreur
// on prends soin de fermer l'objet de lecture
// cela facilite le travail du CLR
if (sr != null)
sr.Close();



Comment tu veut fermer le CLR si tu as deja fait return avant tu n'arrivera jamais a cette partie du code
bdegoy Messages postés 1 Date d'inscription lundi 24 juillet 2006 Statut Membre Dernière intervention 8 mai 2007
8 mai 2007 à 09:38
Merci beaucoup pour cet excellent code. Je l'utilise pour appeler du code .php. Le code est bien interprété, alors que j'avais essayé avec serveur.execute("moncode.php") qui retournait le contenu du fichier sans qu'il ait été interprété par php.

Une question tout de même: le type de la fonction est string. Donc, le résultat est retourné avec <string> ... </string> autour. Il n'y a pas moyen de retourner le résultat sans rien autour? Comment déclarer la fonction du webservice pour cela?
porgy Messages postés 14 Date d'inscription jeudi 12 octobre 2000 Statut Membre Dernière intervention 29 janvier 2017
15 avril 2007 à 15:00
Bonjour ton code m'intéresse mais il utilise une url, or je souhaiterais stocker le contenu html de ma page une fois qu'elle a été générée. En fait j'utilise une sorte de signature électronique et je souhaiterais enregistrer dans ma base, le code HTML de ce qui a été signé en vue de pouvoir le relire avec un explorer web en cas de probleme.

Si tu as une idée je suis preneur.

Merci
arhacknide Messages postés 8 Date d'inscription samedi 11 février 2006 Statut Membre Dernière intervention 12 février 2006
11 févr. 2006 à 22:52
Bonjour,
Je cherche une fonction permettant l'enregistrement d'une page Web, je me sert actuellement de Visual Studio C# 2005 Express. Je trouve ce code ci-dessus et je n'arrive pas à le faire fonctionner avec mon programme. Ce code répond t-il bien à ma demande concernant l'enregistrement total (avec images...) d'une page web, si oui merci d'un peu d'aide pour son application sinon merci de me conseiller/guider... pour ma demande, Merci bcp.
cs_stailer Messages postés 507 Date d'inscription jeudi 28 mars 2002 Statut Membre Dernière intervention 13 mai 2009 1
28 nov. 2003 à 11:01
Salut,

Effectivement ce code date et c'est pour ca que j'ai terminé mon logiciel de Newsletter.

En fait, tu n'as pas compris ce que j'ai dit, j'avoue que c'est confus. Je ne voulais pas cette source pour me lier à la base de données (chose que je savais déjà faire en csharp avec la dll ByteFX) mais pour récupérer le contenu HTML d'une page (ce qui est le cas) et l'envoyer ç une sélection de clients contenus dans une base de données.

Vala. Donc te fais pas de souci pour moi, tout va bien : )

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.