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

Soyez le premier à donner votre avis sur cette source.

Snippet vu 32 143 fois - Téléchargée 33 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_stailer
Messages postés
511
Date d'inscription
jeudi 28 mars 2002
Statut
Membre
Dernière intervention
13 mai 2009
1 -
Salut,

Merci pour ce code. Je débute actuellement en C# et je voudrais faire un petit logiciel de newsletter avec une base mysql. Donc merci pour cette fonction qui me sera forcément très utile.

A+,

Stailer
cs_666Ange
Messages postés
19
Date d'inscription
mercredi 2 avril 2003
Statut
Membre
Dernière intervention
2 mars 2009
-
Mon pauvre c'est pas avec ca que tu pourra réaliser ton prog qui interragit avec une base mysql. Si tu est intéressé (et comme ce post date de y a longtemps ca m'etonnerais que tu y montre un interet lol) et que tu ne trouve pas ailleurs je posterai une dll que j'ai trouvé et modifié en intégrant des composants qui contiennt des classes pour mysql du genre :

mySQLConnection1.ConnectionString = "Location=xxxx;User ID=xx;Password=xx;Data Source =xx";
mySQLConnection1.Open();

...

mySQLCommand1.CommandText = "SELECT ed_libelle, id_editeur FROM editeurs ORDER BY ed_libelle ASC" ;


Par contre ce code est intéressant effectivement c'est ce que je cherchais ! merci !
cs_stailer
Messages postés
511
Date d'inscription
jeudi 28 mars 2002
Statut
Membre
Dernière intervention
13 mai 2009
1 -
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 : )
arhacknide
Messages postés
8
Date d'inscription
samedi 11 février 2006
Statut
Membre
Dernière intervention
12 février 2006
-
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.
porgy
Messages postés
14
Date d'inscription
jeudi 12 octobre 2000
Statut
Membre
Dernière intervention
29 janvier 2017
-
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

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.