Telechargement d'un fichier "besoin d'aide d'un expert"
hakoko
Messages postés
190
Date d'inscription
Statut
Membre
Dernière intervention
-
ElementW Messages postés 4814 Date d'inscription Statut Contributeur Dernière intervention -
ElementW Messages postés 4814 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
je doit télécharger toute les 10 min un fichier d'une interface web, pour cela je dois à chaque foie remplir l'intervalle de temps, date du début et date de la fin puis cliquer sur telecharger pour avoir les données correspondante à cette interval de temps. j'ai une application sur C# qui est adapter à ce site web. quant je la lance elle ouvre cette interface web, rempli bien les cases "date de début et de la fin" à chaque instant donné, elle appuis sur le bouton téléchargement sauf que le telechargement ne se declanche pas; meme quand j'appui sur le boutton manuellement , il declanche pas le telechargement.
je doit télécharger toute les 10 min un fichier d'une interface web, pour cela je dois à chaque foie remplir l'intervalle de temps, date du début et date de la fin puis cliquer sur telecharger pour avoir les données correspondante à cette interval de temps. j'ai une application sur C# qui est adapter à ce site web. quant je la lance elle ouvre cette interface web, rempli bien les cases "date de début et de la fin" à chaque instant donné, elle appuis sur le bouton téléchargement sauf que le telechargement ne se declanche pas; meme quand j'appui sur le boutton manuellement , il declanche pas le telechargement.
A voir également:
- Telechargement d'un fichier "besoin d'aide d'un expert"
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Fichier bin - Guide
- Telechargement direct - Accueil - Outils
- Fichier rar - Guide
4 réponses
Tout dépends de comment le site veut nous faire télécharger le fichier, enfin plutôt comment il nous redirige vers ce fichier.
De plus, si le site utilise AJAX, c'est encore pire: le WebBrowser de C#, c'est Internet Explorer inclu dans une appli, et IE c'est le mal pour le développement d'applis qui fonctionnent avec le web: il utilise sa propre version d'AJAX pas standard (Microsoft.XMLHTTP au lieu de XMLHttpRequest).
Utiliser un WebBrowser visible pour ça n'est pas la bonne idée, apprends à utiliser les HttpWebRequest comme il faut (exemple ici).
Si on avait un accès au site/la source du site on pourrait peut-être t'aider.
De plus, si le site utilise AJAX, c'est encore pire: le WebBrowser de C#, c'est Internet Explorer inclu dans une appli, et IE c'est le mal pour le développement d'applis qui fonctionnent avec le web: il utilise sa propre version d'AJAX pas standard (Microsoft.XMLHTTP au lieu de XMLHttpRequest).
Utiliser un WebBrowser visible pour ça n'est pas la bonne idée, apprends à utiliser les HttpWebRequest comme il faut (exemple ici).
Si on avait un accès au site/la source du site on pourrait peut-être t'aider.
malheureusement moi meme j'ai un accès limité à cette interface web, elle est relié à un enregistreur de données,et il faut appartenir au même reseau de cet enregistreur pour pouvoir générer cette interface web. cependant je peut vous envoyer le code source de cette page, le fichier en html et mon application sous visual studio,
A+
A+
voici ci joint le code source et page qui permet de faire le téléchargement:
https://www.cjoint.com/?CDyl6d7JJr1
https://www.cjoint.com/?CDyl6d7JJr1
Ce fut plus simple que je ne le pensais:
Après pour le start_time, etc... tu dois comprendre je pense ;)
string getData(string aggregate, string start_day, string start_time, string end_day, string end_time) { HttpWebRequest req = (HttpWebRequest)WebRequest.Create("http://mysite.com/download.csv"); req.Method = "POST"; req.ContentType = "application/x-www-form-urlencoded"; string postData = "aggregate="+aggregate+"&start_day="+start_day+"&start_time="+start_time+"&end_day="+end_day+"&end_time="+end_time; req.ContentLength = postData.Length; StreamWriter stOut = newStreamWriter(req.GetRequestStream(),System.Text.Encoding.ASCII); stOut.Write(postData); stOut.Close(); HttpWebResponse response = (HttpWebResponse)request.GetResponse(); Stream responseStream = response.GetResponseStream(); StreamReader streamReader = new StreamReader(responseStream); return streamReader.ReadToEnd(); }aggregate peut être soit "", "day", "week", "month" ou "year", selon la période que tu veux.
Après pour le start_time, etc... tu dois comprendre je pense ;)