Page 1 sur 1
[R] Archiver et telecharger des fichiers
Posté : dim. 05 déc. 2010 15:57
par Nilak
Bonjour,
Je vous explique mon petit probleme, tous les jours je dois télécharger quelques fichiers dont j'ai les liens, malheureusement je ne connais/trouve pas de fonctions pour ça et
ce sujet ne m'a pas pas trop aidé...
Si il est possible de télécharger un fichier en suite j'aimerai que le contenu soit classé dans le dossier du jour. Ca c'est la partie la plus simple j'ai fait ça:
Code : Tout sélectionner
$anne = @YEAR
$mois = @MON
$jour = @MDAY
DirCreate( $jour & "." & $mois & "." & $anne)
Filemove ( @ScriptDir & "\*.txt", @ScriptDir & "\" & $jour & "." & $mois & "." & $anne )
Ensuite je dois vérifier le contenu des dossiers, malheureusement ne pouvant pas le faire tous les jours, je veux conserver les dossiers 5 jours, pas plus à cause de l'espace disque, mais je ne vois pas comment supprimer les dossiers vieux de plus de 5 jours... Quelqu'un a des idées? s'il vous plait?
Merci par avance!
Re: [..] Archiver et telecharger des fichiers
Posté : dim. 05 déc. 2010 21:09
par sylvanie
Bonsoir.
Pour le téléchargement, si il s'agit d'un simple lien http sans besoins de cookies, session phph,etc. vous pouvez utilisez inetget (voir exple du fichier d'aide)
sinon il va falloir faire de la navigation via les fonction _IE_create, _IE_navigate et là ça va être spécifique à la page web (il faudra plus d'information)
pour la suppression des répertoires plus vieux de 5 jours, vous pouvez tester la date avec FileGetTime (marche aussi avec les répertoires) et enfin Dirremove en mode récursif
Re: [..] Archiver et telecharger des fichiers
Posté : dim. 05 déc. 2010 22:51
par Nilak
Bonsoir,
Merci bien de cette première réponse... Pour le téléchargement, j'avais oublié qu'il fallait s'authentifier avant de télécharger les fichiers, du coup je vais devoir le faire de maniere un peu salace...
Pour la gestion des dossiers, je teste ça demain!
Re: [..] Archiver et telecharger des fichiers
Posté : dim. 05 déc. 2010 23:13
par sylvanie
pour le download, si il s'agit d'un login/passwd classique vous pouvez passer ces infod sous forme :
inetget("
http://user:passwod@votresite.com")
si il y a du https, pensez à l'option :
2 = Ignore all SSL errors (with HTTPS connections).
Re: [..] Archiver et telecharger des fichiers
Posté : mar. 07 déc. 2010 17:40
par Nilak
Bonjour,
Pour la gestion des dossiers j'utilise ça:
Code : Tout sélectionner
$DeleteDir = _DateAdd( 'd','-3', _NowCalcDate())
$date = StringSplit($DeleteDir,'/')
$check = FileExists($date[3] & "." &$date[2] & "." & $date[1])
If $check = 1 Then
DirRemove($date[3] & "." &$date[2] & "." & $date[1])
EndIf
Pour le téléchargement qui n'utilise pas une authentification classique, je vais devoir utiliser des mousemove!
Merci bien pour l'aide, je passe le sujet en résolu!
Re: [R] Archiver et telecharger des fichiers
Posté : mar. 07 déc. 2010 22:13
par bloodwolff
Pour les téléchargements sans authentification classique . Il devrait y avoir moyen d'y aller avec l'udf <Ie.au3> sans passer par des mousemouve mais pour t'aider davantage il faudrait le code source ou au moins le lien du site
Re: [R] Archiver et telecharger des fichiers
Posté : mer. 08 déc. 2010 21:05
par Nilak
Hello,
Je voulais les utiliser à un moment... Malheureusement, je n'ai jamais réussir à faire un truc qui fonctionne...
J'ai essayé avec des _IEGetObjById,_IEFormGetObjByName,_IELinkClickByText... Mais pas réussi... x)
Code : Tout sélectionner
<!-- Le formulaire de connexion -->
<form action="" method="post">
<table>
<tr>
<td>
<label for="nom"><strong>Votre Login</strong></label> :
</td>
<td>
<input type="text" name="nom" id="nom" size="30" maxlength="25" value="" />
</td>
</tr>
<tr>
<td>
<label for="pass"><strong>Votre Mot de passe</strong></label> :
</td>
<td>
<input type="password" name="pass" id="pass" size="30" maxlength="20" value="" />
</td>
</tr>
<!-- <tr>
<td>
Je ne comprends pas trop ce que je dois faire pour que ça marche... J'ai vu l'exemple google, mais il fonctionne peu importe ce que je mettais dedans...
Code : Tout sélectionner
WinActivate("Google")
$oIE = _IECreate ("google.fr")
$oQuery = _IEFormElementGetObjByName ("", "2323")
_IEAction($oQuery,"click")
Send("AutoIt")
C'est même louche que ça marche... ##
Re: [R] Archiver et telecharger des fichiers
Posté : mer. 08 déc. 2010 21:18
par bloodwolff
Essaie ce code pour voir
Code : Tout sélectionner
#include <Ie.au3>
$url = "url du site"
$Ton_Nom = "Ton nom"
$Ton_Pass = "Ton pass"
$oIE = _IECreate($url)
$nom = _IEGetObjById($oIE, "nom")
$pass = _IEGetObjById($oIE, "pass")
_IEFormElementSetValue($nom , $Ton_Nom)
_IEFormElementSetValue($pass , $Ton_Pass)
_IEFormSubmit($nom.form)
Re: [R] Archiver et telecharger des fichiers
Posté : mer. 08 déc. 2010 21:25
par bloodwolff
Ah oui et pour le code
Code : Tout sélectionner
WinActivate("Google")
$oIE = _IECreate ("google.fr")
$oQuery = _IEFormElementGetObjByName ("", "2323")
_IEAction($oQuery,"click")
Send("AutoIt")
Il fonctionne car _ieformelementgetobjbyname ne trouve pas l'objet donc comme il n'a rien trouvé et que la ligne d'après vous lui demander de cliquer dessus bah il clique sur ce qu'il a trouvé C.A.D. rien
Et comme par hasard le champ qui vous interesse est celui sélectionné par défault les caractères envoyés lui sont envoyés
Re: [R] Archiver et telecharger des fichiers
Posté : mer. 08 déc. 2010 21:32
par Nilak
Re!
En effet ça marche! Je faisais toutes mes tentatives avec _IEACTION... Pour tenter de cliquer dans un input et de mettre mes identifiants avec un Send...
Merci bien

Re: [R] Archiver et telecharger des fichiers
Posté : mer. 08 déc. 2010 21:49
par bloodwolff
J'attend avec impatience tes futurs questions !
d'ailleur je suis en train de faire un script qui aurait pu t'aider à remplir ton formulaire
http://autoit.fr/forum/viewtopic.php?f=6&t=6364
Il n'est pas très optimisé pour le moment mais je le travaille tranquillement dans mes temps libres , assez nombreux ces temps-ci

Re: [R] Archiver et telecharger des fichiers
Posté : mer. 08 déc. 2010 21:56
par Nilak
Par contre j'ai parlé un peu trop vite, il ne valide pas le formulaire.
le submit:
Code : Tout sélectionner
<tr>
<td colspan="2" style="text-align: center;">
<input type="submit" name="seconnecter" value=" Se connecter " />
</td>
</tr>
Le code autoit:
Code : Tout sélectionner
$oIE = _IECreate($url)
$post = _IEGetObjByName ($oIE,"seconnecter")
$nom = _IEGetObjById($oIE, "nom")
$pass = _IEGetObjById($oIE, "pass")
_IEFormElementSetValue($nom , $Ton_Nom)
_IEFormElementSetValue($pass , $Ton_Pass)
_IEFormSubmit($post)
MsgBox(4096,"",$msg & @error)
Erreur 04 et j'ai essayé avec un _IEFormElementGetObjByName et la erreur 03... :/
Re: [R] Archiver et telecharger des fichiers
Posté : mer. 08 déc. 2010 22:06
par bloodwolff
Essaie le même code que je t'avais envoyé mais remplace
par
Sinon par
Code : Tout sélectionner
$form = _IEGetObjByName($oIE, "seconnecter")
_IEAction($form, "Click")
PS : Les deux solutions fonctionnent normalement
Re: [R] Archiver et telecharger des fichiers
Posté : mer. 08 déc. 2010 22:13
par bloodwolff
m.... , j'avais fais une petit erreur dans le script plus haut
ce n'est pas
mais
Re: [R] Archiver et telecharger des fichiers
Posté : mer. 08 déc. 2010 22:23
par Nilak
Re!
Bon bah cette fois tout est ok, les 2 premières solutions ne fonctionnent pas, la dernière fonctionne! Décidément je n'aurais jamais utilisé la bonne fonction au bon moment! EN tout cas j'y vois un peu plus clair sur ie.au3 j'espère pouvoir faire des choses bien sympathique avec maintenant, héhé!
Merci bien et bonne soirée!
Edit pour la réponse entre 2: Oui j'avais vu! Ne t'inquiète pas d'ailleurs quand je cite mon code juste au dessus de ton message, il y a déjà $pass! Merci en tout cas

D'ailleurs je remarque que j'ai mal fait mon c/c, car on n'a pas le $msg = _IEFormSubmit($post)!