[..] Chargement d'un fichier d'une page web

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
pierrotm777
Membre émérite
Membre émérite
Messages : 770
Enregistré le : sam. 11 oct. 2008 14:44
Localisation : Bordeaux
Status : Hors ligne

[..] Chargement d'un fichier d'une page web

#1

Message par pierrotm777 »

J'essaie de charger un fichier issu d'une page web.
Mais avant le téléchargement , je dois choisir le type de fichier à télécharger (csv ou ov2) (voir lignes rouges)
J'utilise donc lignes suivants pour faire mon choix , qui fonctionne bien mais lorsque je clique sur le bouton 'download' (ligne verte),
le choix se réinitialise et le chargement ne fonctionne pas.

le code source de la page
► Afficher le texte
mon code
► Afficher le texte
Merci de votre avis par avance
pierrotm777
Membre émérite
Membre émérite
Messages : 770
Enregistré le : sam. 11 oct. 2008 14:44
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Chargement d'un fichier d'une page web

#2

Message par pierrotm777 »

Bon,
J'ai trouvé comment charger le fichier issu de la page web sans ouvrir pour autant IE (j'ai trouvé le lien directe), mais il me demande où enregistrer le fichier !
Je voudrais pouvoir definir ce lieu d'enregistrement dans le script.

Voici mon script modifié:
► Afficher le texte
Merci de votre aide
Avatar du membre
FuriousFred
Niveau 1
Niveau 1
Messages : 14
Enregistré le : mer. 23 sept. 2009 22:47
Status : Hors ligne

Re: [..] Chargement d'un fichier d'une page web

#3

Message par FuriousFred »

Bien le bonjour.

Je suppose que la fonction Inetget() pourrait résoudre vôtre problème.


InetGet ( "URL" [,"filename" [, options [, background]]] )

URL = adresse du fichier à télécharger
filename = emplacement où doit être enregistré le fichier

Pour les deux autres options je vous laisse consulter l'aide fournie avec autoit (appuyez sur F1 en ayant placé vôtre curseur sur le terme "inetget" de vôtre script dans scite4autoit pour un accès rapide à cette aide)

En espérant avoir aidé.

FuriousFred
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: [..] Chargement d'un fichier d'une page web

#4

Message par bloodwolff »

Sinon moi pour modifier les selects j'utilise cette méthode

Au lieu de mettre la ligne comme tu l'a fait

Code : Tout sélectionner

_IEFormElementSetValue ($oComboSelect, "ov2");csv ou ov2
Je met

Code : Tout sélectionner

$oComboSelect.selectedindex = 0
L'index commence normalement à 0 et augmente de 1 à chaque option
Donc il faut mettre la valeur 0 pour csv et 1 pour ov2
Compte skype : bloodwolfff
pierrotm777
Membre émérite
Membre émérite
Messages : 770
Enregistré le : sam. 11 oct. 2008 14:44
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Chargement d'un fichier d'une page web

#5

Message par pierrotm777 »

Merci à tous les deux !

Effectivement, j'ai testé la fonction _inetget qui marche trés bien car j'ai découvert quel était le lien du fichier que je veux télécharger.

Il me reste un problème que je ne comprend pas.
Je suis obligé de me logger une première fois avec IE et de faire sauvegarder à IE login et mot de passe , sinon mon fichier téléchargé n'est pas complet .
Y aurait-il une solution pour forcer le login sans passer par cette phase de prés login ?

Merci
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: [..] Chargement d'un fichier d'une page web

#6

Message par bloodwolff »

j'ai aperçu une façon d'indiquer le user et mot de passe directement avec inetget
http://autoitscript.fr/forum/viewtopic. ... 768#p39768
Compte skype : bloodwolfff
Avatar du membre
FuriousFred
Niveau 1
Niveau 1
Messages : 14
Enregistré le : mer. 23 sept. 2009 22:47
Status : Hors ligne

Re: [..] Chargement d'un fichier d'une page web

#7

Message par FuriousFred »

Oui... Je vois de quoi tu parles Bloodwolff, en changeant l'url de façon à avoir le login et mdp dedans... Seulement avec beaucoup de sites de téléchargement à authentification actuels (megaup & co) cette méthode ne semble pas fonctionner (ou dumoins je n'ai pas su m'en servir).

Mais ce sujet à déjà été traité en partie par le poste que tu indiquais.

Je vais quand même creuser un peu ce inetget(), il a l'air sympathique ^^

Cordialement,

FuriousFred

ps: Juste un rappel au cas où... Il ne faut pas mettre un login/mpd sur les scripts postés sur le forum.
pierrotm777
Membre émérite
Membre émérite
Messages : 770
Enregistré le : sam. 11 oct. 2008 14:44
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Chargement d'un fichier d'une page web

#8

Message par pierrotm777 »

Bon,

C'est effectivement trés intéressant ce inetget mais je reste obliger de me connecter une première fois avec IE
pierrotm777
Membre émérite
Membre émérite
Messages : 770
Enregistré le : sam. 11 oct. 2008 14:44
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Chargement d'un fichier d'une page web

#9

Message par pierrotm777 »

En fait, voici mes modifications qui ne fonctionnent toujours qu'aprés enregistrement du login et du password dans une page IE .
► Afficher le texte
Chose intéréssante, avec le test 'If $aData[2] = "True"', je test si le download est complet , hors même si le zip n'est pas complet, j'obtiens $aData[2] = "True" ce qui me plante le unzip !
pierrotm777
Membre émérite
Membre émérite
Messages : 770
Enregistré le : sam. 11 oct. 2008 14:44
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Chargement d'un fichier d'une page web

#10

Message par pierrotm777 »

Bon,

J'ai essayé,mais je n'arrive pas à me loger à une page web avec la commande "Inetget"

Code : Tout sélectionner

inetget("http://"&$loginTrapster&":"&$passwordTrapster&"@http://www.trapster.com/login.php")
Je suis obliger de me connecter une première fois avec IE et là je peux charger mon fichier zip de la page web !


Merci de votre aide
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: [..] Chargement d'un fichier d'une page web

#11

Message par bloodwolff »

Si tu veux me filer un compte/mot de passe et le lien du site je peux regarder pour te le faire en winhttp
Compte skype : bloodwolfff
pierrotm777
Membre émérite
Membre émérite
Messages : 770
Enregistré le : sam. 11 oct. 2008 14:44
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Chargement d'un fichier d'une page web

#12

Message par pierrotm777 »

Alors , le site est http://www.trapster.com/ .

Il vous suffit de créer un compte en cliquant sur "join" pour créer un compte
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: [..] Chargement d'un fichier d'une page web

#13

Message par bloodwolff »

Euh je vais peut-être avoir l'air con mais , comment on télécharge car à chaque fois que je clique sur le bouton sa me met [quote]Successfully changed POI alert settings! - NO TRAPS TO EXPORT [/quote]
Voilà le lien de la page http://www.trapster.com/config-poi.php?download=csv


Résolu mais sa va être plus dure que je le pensais !
Compte skype : bloodwolfff
pierrotm777
Membre émérite
Membre émérite
Messages : 770
Enregistré le : sam. 11 oct. 2008 14:44
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Chargement d'un fichier d'une page web

#14

Message par pierrotm777 »

1-se connecter
2-aller dans 'My account'
3-à droite de la page choisir 'Garmin, TomTom, other navigation device alerts'
4-doucle cliquer au centre de la carte de france (choisir 'circular area')
5-remplacer 'Normal' par 'Gigantic'
6-cliquer un maximum de fois sur 'Make area bigger' puis 'Apply'
7-en dessous de la carte, cliquer sur 'Update Preferences'.

De la sorte, vous pouvez obtenir une zone précise pour un username donné

ma fonction download:
► Afficher le texte
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: [..] Chargement d'un fichier d'une page web

#15

Message par bloodwolff »

j'arrive à avoir le fichier mais sois en ansi, Utf-8 ou binaire , mais pas en langage .zip :(
Compte skype : bloodwolfff
pierrotm777
Membre émérite
Membre émérite
Messages : 770
Enregistré le : sam. 11 oct. 2008 14:44
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Chargement d'un fichier d'une page web

#16

Message par pierrotm777 »

si vous utilisez la ligne suivante:

Code : Tout sélectionner

InetGet("http://www.trapster.com/config-poi.php?download=csv", @ScriptDir & "\TrapsterGarminCSVData.zip", 1, 1)
vous devez obtenir un fichier TrapsterGarminCSVData.zip

Je pense que le .zip est un fichier binaire , non ?
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: [..] Chargement d'un fichier d'une page web

#17

Message par bloodwolff »

non , c'est de l'html enregistré en .zip
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: [..] Chargement d'un fichier d'une page web

#18

Message par bloodwolff »

Heyhey j'ai réussis à obtenir un fichier .zip qui fonctionne , c'était seulement une petite nieserie ... je te fais un beau script après manger et te post ça :P
Compte skype : bloodwolfff
pierrotm777
Membre émérite
Membre émérite
Messages : 770
Enregistré le : sam. 11 oct. 2008 14:44
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Chargement d'un fichier d'une page web

#19

Message par pierrotm777 »

Cool,

Merci d'avance !
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: [..] Chargement d'un fichier d'une page web

#20

Message par bloodwolff »

Voilà l'udf se trouve ==>ici<==

Code : Tout sélectionner

#include <winhttp.au3>

$user = "************" ;~ Nom d'utilisateur (Faire attention au caractère spéciaux @ devient par exemple %40)
$pass = "***********" ;~ Mot de passe
$type = "csv" ;~ csv ou ov2

$hOpen = _WinHttpOpen()
$hConnect = _WinHttpConnect($hOpen, "www.trapster.com")
_WinHttpSimpleSendRequest($hConnect, "Post", "do-login.php", Default, "uname=" & $user & "&pwd=" & $pass)
_WinHttpSimpleSendRequest($hConnect, "Post", "config-poi.php", Default, "areas=C*0*6.02*46.9202553153745%3B2.548828125**%3Bl%3Bl%3Bl%3Bl%3Bl&format=" & $type & "&download=Download+POIs");~ Information sur la zone mais j'Ai fais comme tu m'as dis en encerclant la france
$get = _WinHttpSimpleRequest($hConnect, Default, "config-poi.php?download=" & $type, Default, Default, "Content-Type: application/zip", Default, 2)
$open = FileOpen("Test.zip", 26) ;~ Le nom du fichier final (Dois bien sur finir par .zip) je te conseille de l'écrire dans le tempdir et de le déplacer après
FileWrite($open, $get)

_WinHttpCloseHandle($hConnect);~ Libèration de la mémoire
_WinHttpCloseHandle($hOpen)
FileClose($open)

MsgBox(0,"","Téléchargement terminé") ;~ MsgBox qui indique quand c'est terminé
Compte skype : bloodwolfff
Répondre