wald39
Messages postés68Date d'inscriptionjeudi 5 janvier 2006StatutMembreDernière intervention23 février 2011
-
22 févr. 2011 à 13:23
NightlyDev
Messages postés26Date d'inscriptionjeudi 24 février 2011StatutMembreDernière intervention 6 mars 2011
-
25 févr. 2011 à 00:10
Bonjour,
J'aurait besoin de télécharger un fichier automatiquement dans mon application. Ce fichier est un catalogue sous forme de fichier texte. Avant je le récupérais facilement car j'avais accès a l'url du fichier.
Mais le site, à partir du quel je récupère mon fichier, à modifié son code source.
Le téléchargement du catalogue se fait à partir d'une page qui le lance automatiquement. Vous savez c'est les pages avec un lien si le téléchargement ne s'est pas lancé au bout de 5 secondes cliquez ici.
Du coup je n'ai plus accès a l'url du fichier.
Voici mon code pour l'instant :
WebBrowser web = new System.Windows.Forms.WebBrowser();
web.Url = new Uri(url_de_la_page_de_telechargement_du_fichier);
while (this.web.ReadyState != WebBrowserReadyState.Complete)
{
Application.DoEvents(); // Empêche la forme de freezer.
}
try
{
//Remplissage des champs identifiant et mot de passe
HtmlElement login = web.Document.GetElementById("email");
HtmlElement pass = web.Document.GetElementById("passwd");
login.InnerText = "identifiant";
pass.InnerText = "motdepasse";
//Clique sur le bouton OK pour faire la connexion
HtmlElement btn = web.Document.GetElementById("SubmitLogin");
btn.InvokeMember("click");
}
Au bout de 5 secondes j'ai la fenêtre internet explorer de téléchargement qui me propose enregistrer ouvrir ou annuler.
Il y a t il un moyen pour que le téléchargement se lance sans cette fenêtre?
NightlyDev
Messages postés26Date d'inscriptionjeudi 24 février 2011StatutMembreDernière intervention 6 mars 2011 25 févr. 2011 à 00:10
Oula.
Déjà, pourquoi tu n'utilises pas les thread plutôt que Application.DoEvents(); ?
Ensuite, je pense qu'il faut que tu utilises une requête web qui envoie des données (POST) au serveur web.
Il y a une petite librairie (pas complete) sur mon site. Tu peux regarder, et la compléter si tu y arrives !
Sinon essaye avec WebClient.