begin process at 2010 02 10 09:46:45
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Réseaux & Internet

 > REQUÊTE HTTP

REQUÊTE HTTP


 Information sur la source

Note :
8 / 10 - par 6 personnes
8,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Réseaux & Internet Source .NET ( DotNet ) Classé sous :httpwebresponse, httpwebrequest Niveau :Débutant Date de création :18/06/2002 Date de mise à jour :24/12/2002 12:36:15 Vu :19 078

Auteur : pornik

Ecrire un message privé
Site perso
Commentaire sur cette source (7)
Ajouter un commentaire et/ou une note

 Description

Voilà un exemple d'utilisation des classes HttpWebResponse et HttpWebRequest qui permettent d'effectuer une requête et d'en intercepter la réponse très facilement.

Source

  • using System;
  • using System.Net;
  • using System.IO;
  • namespace Http
  • {
  • class Requete
  • {
  • [STAThread]
  • static void Main(string[] args)
  • {
  • string Data = "Mes données\r\n";
  • string Reponse = String.Empty;
  • StreamWriter Sw = null; // Pour écrire les données
  • StreamReader Sr = null; // Pour lire les données
  • try
  • {
  • HttpWebRequest Req = (HttpWebRequest)WebRequest.Create("Mon Uri");
  • Req.Method = "Ma méthode"; // POST ou GET
  • Req.Referer = "Mon referer";
  • Req.ContentType = "application/x-www-form-urlencoded"; // La plupart du temps
  • Req.ContentLength = Data.Length; // La longueur des données
  • Sw = new StreamWriter(Req.GetRequestStream());
  • Sw.Write(Data); // On écrit les données
  • Sw.Close(); // Puis on ferme le flux
  • Sw = null;
  • Sr = new StreamReader(((HttpWebResponse)Req.GetResponse()).GetResponseStream());
  • Reponse = Sr.ReadToEnd(); // On choppe la réponse
  • Sr.Close(); // Et on ferme
  • Sw = null;
  • }
  • catch(Exception e) // En cas d'exception
  • {
  • if(Sw != null) // Si le flux est ouvert, on le ferme
  • Sw.Close();
  • if(Sr != null)
  • Sr.Close();
  • Console.WriteLine(e.Message + "\r\n\r\nL'application va maintenant se terminer...");
  • return;
  • }
  • Console.WriteLine(Reponse);
  • }
  • }
  • }
using System;
using System.Net;
using System.IO;

namespace Http
{
	class Requete
	{
		[STAThread]
		static void Main(string[] args)
		{
			string Data = "Mes données\r\n";
			string Reponse = String.Empty;
			StreamWriter Sw = null; // Pour écrire les données
			StreamReader Sr = null; // Pour lire les données

			try
			{
				HttpWebRequest Req = (HttpWebRequest)WebRequest.Create("Mon Uri");
				Req.Method = "Ma méthode"; // POST ou GET
				Req.Referer = "Mon referer";
				Req.ContentType = "application/x-www-form-urlencoded"; // La plupart du temps
				Req.ContentLength = Data.Length; // La longueur des données

				Sw = new StreamWriter(Req.GetRequestStream());
				Sw.Write(Data); // On écrit les données
				Sw.Close(); // Puis on ferme le flux
				Sw = null;

				Sr = new StreamReader(((HttpWebResponse)Req.GetResponse()).GetResponseStream());
				Reponse = Sr.ReadToEnd(); // On choppe la réponse
				Sr.Close(); // Et on ferme
				Sw = null;
			}
			catch(Exception e) // En cas d'exception
			{
				if(Sw != null) // Si le flux est ouvert, on le ferme
					Sw.Close();
				if(Sr != null)
					Sr.Close();

				Console.WriteLine(e.Message + "\r\n\r\nL'application va maintenant se terminer...");

				return;
			}

			Console.WriteLine(Reponse);
		}
	}
} 

 Conclusion

Les commentaires dans le code doivent suffire je pense...


 Sources du même auteur

Source .NET (Dotnet) AFFICHER ET CACHER UNE FENÊTRE
Source .NET (Dotnet) THREAD
Source .NET (Dotnet) TUTORIAL C#
Source .NET (Dotnet) CONNEXION DE TYPE TCP/IP

 Sources de la même categorie

Source avec Zip Source avec une capture Source .NET (Dotnet) HTTP FLOOD STRESS TEST par NightMareLmW
Source avec Zip Source avec une capture Source .NET (Dotnet) SERVEUR/ESCLAVE MODBUS TCP/IP par SteveFuchsIT
Source avec Zip Source avec une capture Source .NET (Dotnet) IPHELPER - PORTS TCP/UDP, TABLES DE ROUTAGE/ARP + FONCTIONS ... par Willi
Source avec Zip Source avec une capture Source .NET (Dotnet) [.NET3.5] SYSTEM.IO.PIPES - UTILISATION D'UN CANAL NOMMÉ par Willi
Source avec Zip Source .NET (Dotnet) MESSAGES PERSOS MSN par XelectroX

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture Source .NET (Dotnet) HORAIRES DES BUS DE LA RATP EN TEMPS RÉEL par alilerenoi
Source avec Zip Source .NET (Dotnet) REQUÊTE HTTP DU TYPE GET ET POST EN C# par ppcdev
Source avec Zip Source avec une capture Source .NET (Dotnet) EXEMPLE UTILISATION HTTPWEBREQUEST, AFFICHER RÉPONSE HTTP À ... par BaFM

Commentaires et avis

Commentaire de Godzidane le 06/12/2002 17:00:50

Comment fais tu pour déterminer les paramètres dont le serveur a besoin pour te retourner une réponse. Il s'agit des paramètres que tu passes à la fonction : << SendToServer("......."); >> qui m'intriguent !!! En effet, j'essaye de reproduire le même principe mais la tentative de connexion au serveur se solde à chaque fois par un échec.

Commentaire de bucherb le 21/11/2003 14:50:53

Perso j'ai jamais utilisé les HttpWebRequest, j'utilise la classe TcpClient... Je me connecte au serveur web et je construit ma requête, j'envoie et je reçois.. Easy.. Tu dis ce que tu veux au serveur...

Commentaire de bucherb le 20/01/2004 15:08:40

Une question sur ton code:

C'est bien, mais comment tu fais ta requête...
LA méthode ok je veux bien, mais le reste c'est ou???????

GET /index.aspx HTTP/1.1

J'ose imaginer que "HTTP/1.1" se place tout seul, mais alors ou est-ce qu'il faut que j'initialise mon "/index.aspx".. pas clair ton truc..

Commentaire de bucherb le 20/01/2004 15:22:21

De plus si tu n'as pas de données à envoyer (par exemple avec le verbe GET) tu met quoi dans ton Sw.Write???? Vraiment pas clair ton truc...

Commentaire de bucherb le 20/01/2004 16:32:38

J'ai trouvé la réponse à ma question...

Maintenant pour ton code.. Laisse-moi t'éclairer lol, manque qqch..

http://fr.gotdotnet.com/quickstart/util/srcview.aspx?path=/quickstart/howto/samples/net/ASPXNet/webrequest.src&file=CS\webrequest.aspx&font=3

Commentaire de porgy le 15/04/2007 16:46:19

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

Patrice

Commentaire de zebulon88 le 26/02/2009 23:42:06

meme question que Godzidane...où donne t-on les paramètres dans le cas d'une requete post?

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

HttpWebRequest.KeepAlive = true; [ par tommz ] Bonjour..j'ai fait un petit programme qui recupere des page internet, les parse, fait des actions, soumet des formulaire bien remplis etc, etc...le pr HttpWebRequest.Method = "Post" [ par zaka48 ] j'ai un probleme concernant le moyen d'afficher la reponse d'une requette HttpWebRequest.Method = "post" que j'ai definis sur un webform1 dans une se conserver une session avec HttpWebRequest [ par glachant ] Bonjour,je voudrais récupérer des pages web mais je ne sais pas comment conerver une session avec la méthodeHttpWebRequest.je récupère la première pag TcpClient ou HttpWebRequest pour un POST ou GET [ par Blacknight91 ] Bl@cknightBonjour,Je voudrais savoir comment utiliser l'une de ces 2 classes (TcpClient ou HttpWebRequest) afin d'envoyer une requête POST ou GET dans Attente d'une WebResponse ... [ par icedreamer ] Bonjour,Comment peut-on gérer l'attente d'une HttpWebResponse. Plus précisement, mon programme semble attendre, attendre sans fin cette r&#2 HTTPWebRequest et credential [ par dufoli ] Je voudrai recréer cet en-tête et ce qui me pose problème c'est : "Autorization"J'utilise HttpWebRequest, mais malgré avoir rempli POST {content : encoded} httpwebrequest [ par c0nsur ] Bonjour,jaimerais savoir comment POSTER aec httpwebrequest à une page .PHP en fait, je sais comment poster les données.... mais jai un pro HttpWebRequest [ par missceline33 ] Bonjour je cherche à utiliser le protocole HTTP en C#. J'ai tropuvé un post avec deux fonctions public void EnvoyerMessage(string msg, strin Remplir un formulaire sur un site web [ par cispo ] Bonsoir, Je dois automatiser la validation d'un formulaire web afin de m'identifier (login et mot de passe) pour ensuite pouvoir télécharger un fichi HttpWebRequest & Cookie [ par Bidou ] Bonjour,Je dois fair quelque chose de très simple, mais je sèche, faut dire que la doc n'est que très peu bavarde à ce sujet : Je dois me connecter su


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,513 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales