Bonjour,

J'essaye de faire une application qui va se connecter sur une page web, suivre un lien et télécharger des informations.

La page est protégée par un login/mot de passe dans un formulaire en POST. Après validation du formulaire, j'arrive sur une page qui me confirme que je suis bien connecté et qui me donne un lien sur la page que je souhaite.

En utilisant WebRequest, j'arrive à renseigner le login et le mot de passe et accéder à la page suivante qui me confirme que je suis bien connecté.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
WebPostRequest myPost = new WebPostRequest("http://site/form.php");
myPost.Add("login", "user_456");
myPost.Add("password", "bienvenue");
source = myPost.GetResponse();
source contient une page HTML qui me confirme que je suis bien connecté et que je peux cliquer sur un lien pour accédé à la page que je souhaite.

Lorsque j'essaye d'accéder à cette page, je perds l'identification que je viens de faire. C'est comme si j'ouvrai un autre navigateur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
System.Net.WebRequest objWebRequest = System.Net.HttpWebRequest.Create("http://http://site/mapage.php");
System.Net.WebResponse objWebResponse = objWebRequest.GetResponse();
System.IO.StreamReader objStreamReader = new System.IO.StreamReader(objWebResponse.GetResponseStream());
source = objStreamReader.ReadToEnd();
Source contient le code HTML du formulaire de connexion.


J'ai également essayé avec un WebClient.
J'arrive à lire une page, mais je n'arrive pas à me connecté au formulaire.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
WebClient client = new WebClient();
Stream data = client.OpenRead("http://site/form.php");
StreamReader reader = new StreamReader(data);
source = reader.ReadToEnd();
data.Close();
source contient le code HTML du formulaire de connexion. Je peux lire une page.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
source = client.UploadString("http://site/form.php", "POST", "login=user_456&password=bienvenue);
source contient toujours le code HTML du formulaire de connexion.

Si quelqu'un connait les WebRequest ou les WebClient, je veux bien un peu d'aide.
Merci