Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

RÉCUPÉRER LE CONTENU D'UNE PAGE WEB


Information sur la source

Catégorie :Réseaux & Internet Source .NET ( DotNet ) Classé sous : internet, webrequest, webresponse Niveau : Initié Date de création : 18/09/2003 Date de mise à jour : 18/09/2003 00:29:32 Vu : 17 053

Note :
8,5 / 10 - par 6 personnes
8,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (7)
Ajouter un commentaire et/ou une note

Description

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

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

Commentaires et avis

signaler à un administrateur
Commentaire de stailer le 18/09/2003 12:42:44

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

signaler à un administrateur
Commentaire de 666Ange le 28/11/2003 03:34:39

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 !

signaler à un administrateur
Commentaire de stailer le 28/11/2003 11:01:04

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  : )

signaler à un administrateur
Commentaire de arhacknide le 11/02/2006 22:52:11

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.

signaler à un administrateur
Commentaire de porgy le 15/04/2007 15:00:25

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

signaler à un administrateur
Commentaire de bdegoy le 08/05/2007 09:38:03

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?

signaler à un administrateur
Commentaire de sangoan le 25/07/2007 18:24:11

// 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

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

cible d'un raccourci + vider l'historique et le cache internet ??? [ par clemox ] Bonjour à tous, Je souhaiterai savoir : - Comment peut-on connaitre la cible d'un raccourci ? - Comment peut-on vider les fichiers tempor Réseau local VS Internet [ par cazaux ] Actuellement je suis en train de développer un Client/Serveur. Le seul probléme est que toutes les aides que je trouve ne parle que de serveur placé à Adresse IP Internet (récupérer) [ par merlintintin ] Bonjour,j'aimerais savoir quelle est la méthode pour retourner l'adresse IP actuelle de ma connexion Internet ? Les seules fonctions que j'ai trouvées Lien vers site internet [ par giorgio08 ] Bonjour a tous, j'aurais voulu savoir comment faire pour créer un lien vers un site internet, j ai l'adresse et je voudrais que quand l'utilisateur ap ASP.NET et C# [ par Kurby ] Bonjour,J'ai fait un projet (machine à écrire) en C#, et je voulais savoir la procédure pour le rendre visible sur Internet.J'ai la tecnologie qu'il f Récupérer l'URL en cours dans Internet Explorer... [ par coolfire ] Bonjour à tous !J'ai besoin d'un peu d'aide:J'ai un programme C# qui recupère la liste des processus.pas de problème.Parmi ces processus, mon programm Adresse IP Internet [ par syl2 ] Bonjour,Existe-t'il une méthode pour retrouner l'adresse IP actuelle de ma connexion Internet ?Les seules méthodes que j'ai pu trouver sont liées au c Automatiser une connexion internet sur pocketPC [ par loutremasquee ] Alors là je vais poser la question qui tue.Je souhaite que mon programme (qui tourne sur pocket pc) se connecte et deco de lui mm d'internet. Pour inf Internet Explorer en Automatique [ par Doombringer ] Bon, je voulais faire un programme qui change automatiquement les pages internet de Internet Explorer tous les X secondes. Bon, j'ai réussi quelque pe Récuperer les adresse d'internet explorer [ par oberown ] Je voudrais faire une programme, qui permet lorsqu'il est activé de récuperer les adresses web des sites vu sur IE en temps réel.Par exemple on est su


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,562 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.