[..] Inetget et overwrite

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
francoislc
Niveau 1
Niveau 1
Messages : 11
Enregistré le : lun. 12 mai 2014 23:28
Status : Hors ligne

[..] Inetget et overwrite

#1

Message par francoislc »

Bonjour,

j'utilise la fonction Inetget pour télécharger environ 700 fichiers (4GO) avec 700 adresses différentes (700 lignes de code quasi identiques), c'est lourd !
dnas les 700, il y en a pas peut etre que 50 qui ont été modifié. Existe -t-il soit via overwrite,soit avec filegettime soit avec syncback, une possibilité de ne télécharger que ceux qui ont été modifiés ?
Cordialement
François
Modifié en dernier par francoislc le ven. 10 oct. 2014 14:37, modifié 1 fois.
Sea
Niveau 6
Niveau 6
Messages : 219
Enregistré le : ven. 22 juin 2012 18:51
Localisation : France
Status : Hors ligne

Re: [inetget et overwrite]

#2

Message par Sea »

La question que tu devrais te poser c'est "Ai-je un moyen de savoir si mes URLs sont pareille?"

Si tu as 1URL par ligne et que celle identique sont a la même ligne tu a juste a lire ton ancien fichier et ton nouveau fichier ligne par ligne et comparer.

Sinon tu met l'un des deux fichiers dans un tableau (découpé par URL pour chaque entrée) et tu compare avec l'autre fichier ;)
Avatar du membre
TommyDDR
Modérateur
Modérateur
Messages : 2130
Enregistré le : mar. 22 juil. 2008 21:55
Localisation : Nantes
Status : Hors ligne

Re: [inetget et overwrite]

#3

Message par TommyDDR »

Bonjour / bonsoir,
Lors de la création de votre message, quelques lignes étaient écrites pour vous indiquer comment respecter les règles de présentation d'un sujet.

Merci d'en tenir compte et d'éditer le titre de votre 1er sujet.
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
francoislc
Niveau 1
Niveau 1
Messages : 11
Enregistré le : lun. 12 mai 2014 23:28
Status : Hors ligne

Re: [..] Inetget et overwrite

#4

Message par francoislc »

Bonjour Sea,
j'ai une url par ligne donc par fichier et c'est toujours la même, je viens d'essayer avec inetgetsize et filegetsize, ça fonctionne, c'est juste très long à écrire, 3 lignes supplémentaires par fichier
merci
à Tommyddr, j'ai modifié le titre

cordialement
Avatar du membre
TommyDDR
Modérateur
Modérateur
Messages : 2130
Enregistré le : mar. 22 juil. 2008 21:55
Localisation : Nantes
Status : Hors ligne

Re: [..] Inetget et overwrite

#5

Message par TommyDDR »

InetGet possède une option pour récupérer le fichier en cache si présent, c'est l'option par défaut
optional : $INET_LOCALCACHE (0) = Get the file from local cache if available (default).
Avez vous autre chose que "0" dans le paramètre option ?
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
francoislc
Niveau 1
Niveau 1
Messages : 11
Enregistré le : lun. 12 mai 2014 23:28
Status : Hors ligne

Re: [..] Inetget et overwrite

#6

Message par francoislc »

Non, je n'ai pas mis d'option, et il me le retélécharge systématiquement, alors que le 0 est l'option par défaut, il ne devrait pas le faire si j'ai bien compris ! il ne devrait remplacer que les fichiers modifiés entre les deux téléchargements.
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..] Inetget et overwrite

#7

Message par jguinch »

Euh attends... Tu as 700 lignes de code ???
Il te suffit de mettre tes URL dans un fichier texte, et lire le fichier ligne à ligne avec AutoIt. Du coup, ça fait plus que 10 lignes environ... :roll:
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Inetget et overwrite

#8

Message par mikell »

...Avec une petite fonction pour vérifier le fichier ?

Edit
Euh non, il a dit "3 lignes supplémentaires par fichier " donc ça va faire 2800 lignes Image
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
francoislc
Niveau 1
Niveau 1
Messages : 11
Enregistré le : lun. 12 mai 2014 23:28
Status : Hors ligne

Re: [..] Inetget et overwrite

#9

Message par francoislc »

Qu'ils soient dans un fichier texte, ou dans une ligne de code ça fait toujours 700 lignes à écrire et ça je n'ai pas le choix ! Pour l'instant la seule comparaison que j'ai trouvée pour savoir si le fichier n'a pas été modifié entre deux téléchargements, c'est avec la taille du fichier (inetgetsize du coté téléchargement et filegetsize côté fichier existant) et leur comparaison (donc 3 lignes supplémentaires). Je rappelle que mon but est de gagner du temps sur le téléchargement, donc de ne pas re-télécharger les fichiers identiques, comme le ferait syncback si c'était un seul et même fichier à télécharger avec 700pdf dedans.
A écrire ça se fait, à grands coups de copier coller et de CTRL H, mais je j'espère qu'il existe une méthode efficace qui permettent de comparer ces deux fichiers sans repasser par ces lignes de code supplémentaires (genre une option que je n'aurais pas vu (overwrite), passer par un tableau, je ne sais quoi encore...)
merci de votre aide
Avatar du membre
orax
Modérateur
Modérateur
Messages : 1479
Enregistré le : lun. 23 mars 2009 04:50
Localisation : ::1
Status : Hors ligne

Re: [..] Inetget et overwrite

#10

Message par orax »

Pour comparer si un fichier a été modifié sur le serveur il y a aussi la date de modification.

Code : Tout sélectionner

$WinHttpReq = ObjCreate("WinHttp.WinHttpRequest.5.1")
$WinHttpReq.Open("HEAD", "http://www.autoitscript.com/cgi-bin/getfile.pl?autoit3/autoit-v3-setup.exe", false)
$WinHttpReq.Send()
ConsoleWrite($WinHttpReq.GetResponseHeader("Last-Modified") & @CRLF)
De petits détails peuvent faire toute la différence. — Quand la boule de neige commence à rouler… poussez-la. (Columbo)
Répondre