script de téléchargement - Shell/Batch - Programmation
Marsh Posté le 25-11-2010 à 09:06:15
bonjour et bienvenue.
Quelle est la méthode d'authentification ?
- un champ directement dans la page style comme pour se connect à gmail ou autre site de ce style
- une sorte de petite popup pour rentrer login/password ?
Si c'est le deuxième cas, essaye le format suivant d'url avec ton utilitaire de téléchargement (je suppose wget ?)
http://login:password@serveur/reste/de/l/url
Marsh Posté le 25-11-2010 à 09:13:38
Merci beaucoup.
- un champ directement dans la page style comme pour se connect à gmail ou autre site de ce style=> oui c'est ça
je vais créer un script qui permet de faire ça.
J'ai trouvé que la commande "curl" sert àa faire ça mais je n'ai pas compris comment faire pour:
- Donner login/mot de passe
-lancer le téléchargement dans un dossier spécifique.
Merci une autre fois pour votre aide
Marsh Posté le 25-11-2010 à 09:27:00
Non la commande curl ne sert pas à cela, curl et wget sont des utilitaires de téléchargement en ligne de commande. Ils disposent d'option pour s'authentifier mais plus par rapport à ce que je disais, c'est à dire l'authentification intrinsèque du protocole HTTP.
Là c'est un mécanisme différent... Le plus simple étant de t'authentifier avec ton browser, récupérer le cookie et l'utiliser avec curl ou wget en leur donnant l'adresse du fichier à télécharger (cf. leur manuel respectif : man wget et man curl)
Marsh Posté le 25-11-2010 à 09:38:20
L'accès à ton site web se fait par une page php ?
Dans ce cas, tu peux essayer quelque chose comme ça si c'est du GET:
wget --keep-session-cookies --save-cookies site.dat "http://site.com/login.php?login=truc&pass=bidule" -O /dev/null |
Ca devrait te connecter au site en stockant le cookie de connexion dans le fichier "site.dat"
Ensuite, pour récupérer ce qui t'intéresse (toujours en GET):
wget --load-cookies site.dat "http://site.com/page.php" -O "/chemin/du/repertoire/fichier.html" |
Si c'est du POST, il faut modifier un petit peu, mais l'idée est la même
Marsh Posté le 25-11-2010 à 09:56:07
Désolée mais je n'ai pas compris quoi faire.
- Comment pourrais-je récupérer le cookie et l'utiliser avce curl.
merci beaucoup
Marsh Posté le 25-11-2010 à 10:11:19
Avec curl, j'en sais rien -> man curl
Par contre, si déjà tu pouvais nous dire quel type de script de connexion est utilisé, ça serait plus pratique
Marsh Posté le 25-11-2010 à 10:11:54
Merci beaucoup WedgeAnt.
je suis entrain de essayer votre solution.
Pour être précise, je dois télécharger un dossier compressé (.zip).
pour le moment je n'arrive pas à exécuter la deuxième commande.Quelque soit le chemin d'enregistrement que je donne aprés l'option -O il m'indique toujours (par exemple H:\build\: Is a directory) comme erreur.
Donc ses commandes sont elles applicables pour télécharger un zip et y-a-t-il une façon spécifique pour tapper le chemin d'enregistrement.
Marsh Posté le 25-11-2010 à 10:12:51
ensienne a écrit : Désolée mais je n'ai pas compris quoi faire. |
Le premier point de Wedge, mais il est fort probable qu'une adaptation à ton site soit nécessaire.
Sinon via ton browser (firefox et ses cookies)
Marsh Posté le 25-11-2010 à 10:13:14
je dois développer un script .bat qui contient des commandes pour faire le téléchargement.
je n'ai aucune idée sur comment faire.
Marsh Posté le 25-11-2010 à 10:14:57
Tu es sur quel système d'exploitation ?
edit: bon h:\ machin, c'est windows, je transfère dans la bonne catégorie.
Marsh Posté le 25-11-2010 à 10:16:27
Ce sujet a été déplacé de la catégorie OS Alternatifs vers la categorie Programmation par O'Gure
Marsh Posté le 25-11-2010 à 10:25:26
en réalité je dois implémenter un script de téléchargement pour windows et pour Linux.
Càd un fichier.bat et un fichier.sh
je viens de commnencer par la version windows.
merci
Marsh Posté le 25-11-2010 à 10:35:45
WedgeAnt, j'ai réussi à utiliser les commandes que vous m'avez fourni avec Linux mais l'archive téléchargé est endommagé.
Je ne peux pas l'ouvrir.
C'est quoi le problème d'aprés votre avis.
Marsh Posté le 25-11-2010 à 10:39:26
ensienne a écrit : WedgeAnt, j'ai réussi à utiliser les commandes que vous m'avez fourni avec Linux mais l'archive téléchargé est endommagé. |
Aucune idée, j'ai laissé ma boule de cristal à la maison
Tu peux nous donner les commandes que tu utilises pour récupérer ton archive ?
Marsh Posté le 25-11-2010 à 10:45:11
et un
file nom_de_archive |
histoire de voir à quoi nous avons à faire
Marsh Posté le 25-11-2010 à 10:49:22
wedgeant a écrit : |
Vous avez raison.
J'ai utilisé les commandes que vous m'avez fourni:
La première:
Code :
|
et la deuxième est comme suit:
Code :
|
et il m'indique dans la console que la téléchargement a été effectué avec succés mais la taille de zip téléchargé est trop petit et je ne peux pas le décompresser.
Merci beaucoup pour votre aide.
Marsh Posté le 25-11-2010 à 10:51:31
ReplyMarsh Posté le 25-11-2010 à 10:52:01
Lors de la première commande, il faut indiquer l'adresse du script de connexion, et pas du fichier zip
Il doit s'agir d'une adresse du genre login.php
Marsh Posté le 25-11-2010 à 10:59:20
wedgeant a écrit : Lors de la première commande, il faut indiquer l'adresse du script de connexion, et pas du fichier zip |
même avec ça, le même erreur toujours.
l'archive n'est pas bien téléchargé.
le problème peut être avec la deuxième commande
le syntaxe que j'utilise est correcte ou non.
Est ce qu'on téléchargé un zip.
Marsh Posté le 25-11-2010 à 11:02:50
Non mais il faudrait déjà:
Ensuite, comme te l'a demandé O'gure:
Tu attaques ton problème par la fin, essaye déjà de voir si tout se passe bien au moment de la récupération du cookie de connexion
Marsh Posté le 25-11-2010 à 11:09:42
coucou mon wedgeounet
Marsh Posté le 25-11-2010 à 11:11:40
wedgeant a écrit : Non mais il faudrait déjà:
|
les tois premiers points sont normalement correctes.
(*) pour la vérification de fichier site.dat, son contenu est:
|
=> Normalement c'est bon ou non
le résultat de la commande file folder.zip est "folder.zip: HTML document text"
=> je pense que ça problème mais pourquoi il le télécharge sous cette forme
Marsh Posté le 25-11-2010 à 11:12:32
oui quoi ?
Ce que j'attendais c'était la réponse de cette commande...
Marsh Posté le 25-11-2010 à 11:14:44
ensienne a écrit : les tois premiers points sont normalement correctes. |
D'après ce que je vois dans tes réponses, non
ensienne a écrit : (*) pour la vérification de fichier site.dat, son contenu est:
|
Ca n'est pas bon, le cookie est vide, ton authentification ne se passe pas bien
ensienne a écrit : le résultat de la commande file folder.zip est "folder.zip: HTML document text" |
essaye de l'ouvrir dans un navigateur internet pour en voir le contenu
Marsh Posté le 25-11-2010 à 11:14:54
o'gure a écrit : |
le résultat de la commande file folder.zip est "folder.zip: HTML document text"
je n'ai pas compris pourquoi le sauvegarde se fasse sous cette format.
Merci
Marsh Posté le 25-11-2010 à 11:19:38
ensienne a écrit : je n'ai pas compris pourquoi le sauvegarde se fasse sous cette format. |
parce que ta connexion ne se passe pas correctement (voir mon message au dessus)
tant que tu n'auras pas corrigé ce problème, c'est pas la peine de chercher à tout prix à vouloir récupérer ton archive, ça ne marchera pas
seulement là on ne peut pas deviner à ta place quelle est l'url de connexion, ni quels sont les paramètres à passer
Marsh Posté le 25-11-2010 à 11:19:46
ensienne a écrit : le résultat de la commande file folder.zip est "folder.zip: HTML document text" |
Parce que le lien que tu utilises génères une page web.
Certains sites, pour télécharger, ne fournissent pas directement le lien direct vers l'archive mais vers une page qui lance le téléchargement. Dans ce cas faut analyser le code des pages et trouver le lien direct
Marsh Posté le 25-11-2010 à 11:22:54
o'gure a écrit : |
C'est ça.
Vous avez raison parce que si je tappe le lien /url_site/folder.zip il m'ouvre une page de téléchargement et il ne lance pas directement le téléchargemnt.
Comment alors pourrais je résoudre ça.
Marsh Posté le 25-11-2010 à 11:24:35
ensienne a écrit : |
comme je le dis, en analysant le code de la page de téléchargement.
Marsh Posté le 25-11-2010 à 11:24:48
ensienne a écrit : Comment alors pourrais je résoudre ça. |
il faut regarder le code source de la page qui s'ouvre, et essayer d'y trouver l'adresse du fichier .zip à télécharger
Marsh Posté le 25-11-2010 à 11:26:47
wedgeant a écrit : |
Marsh Posté le 25-11-2010 à 11:27:03
ReplyMarsh Posté le 25-11-2010 à 12:47:22
o'gure a écrit : |
En fin j'ai réussi à récupérer le chemin de téléchargement direct
lorsque je le tape directement dans mon browser il lance le téléchargement.
Mais malheureusemnt la commande ne marche pas.
si je vérifie la commande "file folder.zip"=> le résultat est toujours "folder.zip: HTML document text".
help please
Marsh Posté le 25-11-2010 à 12:50:12
Bon, je pose les questions une dernière fois:
Marsh Posté le 25-11-2010 à 12:58:27
ensienne a écrit : |
As tu supprimé le précédente folder.zip, sinon wget te créera un folder.zip.1 avec le nouveau contenu téléchargé
Marsh Posté le 25-11-2010 à 13:04:29
wedgeant a écrit : Bon, je pose les questions une dernière fois:
|
* Pour le premier point:
j'ai récupére le path à partir de ce bout de code de la code source de page de login
Code :
|
Marsh Posté le 25-11-2010 à 13:05:06
o'gure a écrit : |
oui j'ai fait ça.
Marsh Posté le 25-11-2010 à 13:07:47
ensienne a écrit : |
renomme le folder.zip en folder.html et ouvre le dans ton browser, t'auras peut être un message pertinent
Marsh Posté le 25-11-2010 à 13:10:56
o'gure a écrit : |
En faisant ça je récupère la page html ou je dois tapper mon login et mot de passe.
càd folder.html=login.html de site ou je veux faire le téléchargement.
Marsh Posté le 25-11-2010 à 07:24:54
Bonjour,
Je suis nouvelle. Donc je suis désolée d'avance si je postule dans le mauvais endroit.
Je veux créer un script shell qui permet de faire le téléchargement de certains fichiers.
Avant de faire le téléchargement l'accés au site web nécessite de tapper le login et le mot de passe.
Est il possible de créer un script shell quui permet de faire tout ça.
Si c'est possible merci beaucoup de votre aide.