Requête http

Soyez le premier à donner votre avis sur cette source.

Snippet vu 31 456 fois - Téléchargée 29 fois

Contenu du snippet

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


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

A voir également

Ajouter un commentaire

Commentaires

Messages postés
32
Date d'inscription
jeudi 5 juin 2008
Statut
Membre
Dernière intervention
4 mai 2011

meme question que Godzidane...où donne t-on les paramètres dans le cas d'une requete post?
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

Patrice
Messages postés
412
Date d'inscription
lundi 26 mai 2003
Statut
Membre
Dernière intervention
13 août 2007

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
Messages postés
412
Date d'inscription
lundi 26 mai 2003
Statut
Membre
Dernière intervention
13 août 2007

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...
Messages postés
412
Date d'inscription
lundi 26 mai 2003
Statut
Membre
Dernière intervention
13 août 2007

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..
Afficher les 7 commentaires

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.