navigation web WebRequest ou WebClient
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:
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:
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:
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:
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