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 fichier.
Je procède donc ainsi :
try
{
HttpWebRequest oWRequest = (HttpWebRequest) WebRequest.Create("http://www.extranet.fbf.fr");
//écriture dans le flux d'interrogation
//Username et Password sont les champs du formulaire web
string sMessage = "Username=toto&Password=tata";
oWRequest.ContentLength = sMessage.Length;
//le site web utilise la méthode POST
oWRequest.Method = "POST";
oWRequest.ContentType = "application/x-www-form-urlencoded; charset=utf-8";
HttpWebResponse oWResponse =(HttpWebResponse) oWRequest.GetResponse();
Stream oS1 = oWRequest.GetRequestStream();
StreamWriter oSWriter = new StreamWriter(oS1);
oSWriter.Write(sMessage);
oSWriter.Flush();
}
catch (WebException E)
{
Console.WriteLine(E.Message);
}
Au bout de 1 ou 2 minutes, j'obtiens ce message d'erreur :
Unhandled Exception: System.InvalidOperationException: The response for this req
uest cannot be retrieved until request data has been written.
at System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult)
at System.Net.HttpWebRequest.GetResponse()
at DefaultNamespace.MainClass.Main(String[] args) in d:\Documents\sollivier\M
es documents\SharpDevelop Projects\Import Cassiopée\Main.cs:line 34
Appuyez sur une touche pour continuer...
Quelqu'un aurait-il une idée ?
Merci d'avance,