[R] Archiver et telecharger des fichiers

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Nilak
Niveau 4
Niveau 4
Messages : 57
Enregistré le : mar. 25 mai 2010 21:29
Status : Hors ligne

[R] Archiver et telecharger des fichiers

#1

Message 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!
Modifié en dernier par Nilak le mar. 07 déc. 2010 17:40, modifié 1 fois.
Avatar du membre
sylvanie
Niveau 11
Niveau 11
Messages : 1556
Enregistré le : jeu. 26 juil. 2007 21:31
Localisation : Paris
Status : Hors ligne

Re: [..] Archiver et telecharger des fichiers

#2

Message 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
Toi qui cherche à mettre le doigt sur la solution, appuie sur F1.
Nilak
Niveau 4
Niveau 4
Messages : 57
Enregistré le : mar. 25 mai 2010 21:29
Status : Hors ligne

Re: [..] Archiver et telecharger des fichiers

#3

Message 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!
Avatar du membre
sylvanie
Niveau 11
Niveau 11
Messages : 1556
Enregistré le : jeu. 26 juil. 2007 21:31
Localisation : Paris
Status : Hors ligne

Re: [..] Archiver et telecharger des fichiers

#4

Message 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).
Toi qui cherche à mettre le doigt sur la solution, appuie sur F1.
Nilak
Niveau 4
Niveau 4
Messages : 57
Enregistré le : mar. 25 mai 2010 21:29
Status : Hors ligne

Re: [..] Archiver et telecharger des fichiers

#5

Message 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!
Avatar du membre
bloodwolff
Membre émérite
Membre émérite
Messages : 655
Enregistré le : ven. 18 avr. 2008 22:36
Localisation : Québec
Status : Hors ligne

Re: [R] Archiver et telecharger des fichiers

#6

Message 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
Compte skype : bloodwolfff
Nilak
Niveau 4
Niveau 4
Messages : 57
Enregistré le : mar. 25 mai 2010 21:29
Status : Hors ligne

Re: [R] Archiver et telecharger des fichiers

#7

Message 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>&nbsp;:
        </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>&nbsp;:
        </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... ##
Avatar du membre
bloodwolff
Membre émérite
Membre émérite
Messages : 655
Enregistré le : ven. 18 avr. 2008 22:36
Localisation : Québec
Status : Hors ligne

Re: [R] Archiver et telecharger des fichiers

#8

Message 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)
Modifié en dernier par bloodwolff le mer. 08 déc. 2010 22:12, modifié 1 fois.
Compte skype : bloodwolfff
Avatar du membre
bloodwolff
Membre émérite
Membre émérite
Messages : 655
Enregistré le : ven. 18 avr. 2008 22:36
Localisation : Québec
Status : Hors ligne

Re: [R] Archiver et telecharger des fichiers

#9

Message 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 :P

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
Compte skype : bloodwolfff
Nilak
Niveau 4
Niveau 4
Messages : 57
Enregistré le : mar. 25 mai 2010 21:29
Status : Hors ligne

Re: [R] Archiver et telecharger des fichiers

#10

Message 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 :)
Avatar du membre
bloodwolff
Membre émérite
Membre émérite
Messages : 655
Enregistré le : ven. 18 avr. 2008 22:36
Localisation : Québec
Status : Hors ligne

Re: [R] Archiver et telecharger des fichiers

#11

Message 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 :D
Compte skype : bloodwolfff
Nilak
Niveau 4
Niveau 4
Messages : 57
Enregistré le : mar. 25 mai 2010 21:29
Status : Hors ligne

Re: [R] Archiver et telecharger des fichiers

#12

Message 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... :/
Avatar du membre
bloodwolff
Membre émérite
Membre émérite
Messages : 655
Enregistré le : ven. 18 avr. 2008 22:36
Localisation : Québec
Status : Hors ligne

Re: [R] Archiver et telecharger des fichiers

#13

Message par bloodwolff »

Essaie le même code que je t'avais envoyé mais remplace

Code : Tout sélectionner

_IEFormSubmit($nom.form)
par

Code : Tout sélectionner

$form = $nom.form
_IEFormSubmit($form)
Sinon par

Code : Tout sélectionner

$form = _IEGetObjByName($oIE, "seconnecter")
_IEAction($form, "Click")
PS : Les deux solutions fonctionnent normalement
Modifié en dernier par bloodwolff le mer. 08 déc. 2010 22:15, modifié 1 fois.
Compte skype : bloodwolfff
Avatar du membre
bloodwolff
Membre émérite
Membre émérite
Messages : 655
Enregistré le : ven. 18 avr. 2008 22:36
Localisation : Québec
Status : Hors ligne

Re: [R] Archiver et telecharger des fichiers

#14

Message par bloodwolff »

m.... , j'avais fais une petit erreur dans le script plus haut
ce n'est pas

Code : Tout sélectionner

_IEFormElementSetValue($nom , $Ton_Pass)
mais

Code : Tout sélectionner

_IEFormElementSetValue($pass , $Ton_Pass)
Compte skype : bloodwolfff
Nilak
Niveau 4
Niveau 4
Messages : 57
Enregistré le : mar. 25 mai 2010 21:29
Status : Hors ligne

Re: [R] Archiver et telecharger des fichiers

#15

Message 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! :mrgreen:

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
D'ailleurs je remarque que j'ai mal fait mon c/c, car on n'a pas le $msg = _IEFormSubmit($post)!
Répondre