Script automatisation de login site web
Résolu/Fermé
ghFrankfurt
Messages postés
207
Date d'inscription
mardi 16 novembre 2010
Statut
Membre
Dernière intervention
10 décembre 2014
-
Modifié par ghFrankfurt le 7/01/2011 à 10:48
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 - 10 janv. 2011 à 11:52
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 - 10 janv. 2011 à 11:52
A voir également:
- Script automatisation de login site web
- Site de telechargement - Accueil - Outils
- Script vidéo youtube - Guide
- Site comme coco - Accueil - Réseaux sociaux
- Web office - Guide
- Création site web - Guide
21 réponses
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
7 janv. 2011 à 10:57
7 janv. 2011 à 10:57
Le pc distant envoie l'url via une page php. comprend pas...
Le pc serveur doit récupérer l'url, se loguer sur le site web et lancer automatiquement le téléchargement, en utilisant un navigateur pour les cookies.
Je ne vois pas comment ça peut être faisable simplement. à mon avis, il vaut mieux utiliser des bibliothèques d'utilisation de HTML.
En PHP ça doit être faisable. Sinon, il y a perl avec les modules HTML.
Je ferai plus simple : le pc distant copie un fichier avec l'URL sur le serveur via ftp.
Le serveur exécute un script en continu et dès qu'il voit un fichier dans le répertoire l'ouvre, récupère l'URL, fait ce qu'il a à faire et supprime le fichier.
Le pc serveur doit récupérer l'url, se loguer sur le site web et lancer automatiquement le téléchargement, en utilisant un navigateur pour les cookies.
Je ne vois pas comment ça peut être faisable simplement. à mon avis, il vaut mieux utiliser des bibliothèques d'utilisation de HTML.
En PHP ça doit être faisable. Sinon, il y a perl avec les modules HTML.
Je ferai plus simple : le pc distant copie un fichier avec l'URL sur le serveur via ftp.
Le serveur exécute un script en continu et dès qu'il voit un fichier dans le répertoire l'ouvre, récupère l'URL, fait ce qu'il a à faire et supprime le fichier.
ghFrankfurt
Messages postés
207
Date d'inscription
mardi 16 novembre 2010
Statut
Membre
Dernière intervention
10 décembre 2014
23
7 janv. 2011 à 11:19
7 janv. 2011 à 11:19
Le pc distant envoie l'url via une page php. comprend pas...
En fait j'ai une page web avec une frame qui contient les différents site web où l'utilisateur distant ira chercher les liens à télécharger. Une fois qu'il a le lien, il a juste besoin de le coller dans un inputbox juste au dessus, sur la même page, et l'envoyer. Le lien arrive dans une variable que je peux ensuite insérer dans un fichier texte. Ceci afin de simplifier au maximum la vie de l'utilisateur distant.
Le pc serveur à besoin de se connecter au site web pour télécharger le fichier. Je sais qu'il est possible de faire des scripts qui permettent d'automatiser ça.
Dans le genre :
-il récupère l'url dans le fichier texte
-Il découpe l'url pour savoir quel est le site web et lance le navigateur directement sur le site à la page login (Ce sont des sites prédéfini)
-Il trouve les champs login et insére le login et mdp s'il n'est pas déjà connecté
-Charge l'url du fichier à télécharger et là la fenêtre "ouvrir / enregistrer" "ok/annuler" apparaît. Le script va automatiquement coché enregistrer et ok
-supprimer le fichier texte
Je sais que c'est possible de le faire, même si ce n'est pas évident
En fait j'ai une page web avec une frame qui contient les différents site web où l'utilisateur distant ira chercher les liens à télécharger. Une fois qu'il a le lien, il a juste besoin de le coller dans un inputbox juste au dessus, sur la même page, et l'envoyer. Le lien arrive dans une variable que je peux ensuite insérer dans un fichier texte. Ceci afin de simplifier au maximum la vie de l'utilisateur distant.
Le pc serveur à besoin de se connecter au site web pour télécharger le fichier. Je sais qu'il est possible de faire des scripts qui permettent d'automatiser ça.
Dans le genre :
-il récupère l'url dans le fichier texte
-Il découpe l'url pour savoir quel est le site web et lance le navigateur directement sur le site à la page login (Ce sont des sites prédéfini)
-Il trouve les champs login et insére le login et mdp s'il n'est pas déjà connecté
-Charge l'url du fichier à télécharger et là la fenêtre "ouvrir / enregistrer" "ok/annuler" apparaît. Le script va automatiquement coché enregistrer et ok
-supprimer le fichier texte
Je sais que c'est possible de le faire, même si ce n'est pas évident
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
7 janv. 2011 à 11:34
7 janv. 2011 à 11:34
ce que je trouve compliquer et que je ne serais pas faire simplement dans ton protocole, c'est l'interfaçage avec le navigateur. L'interet d'utiliser un langage de script type perl, c'est que rien ne s'ouvre sur le serveur, il n'y a pas de case à cocher. Bien sur, ça dépend comment est codé la session de connexion (ce qui n'est pas évident). Sans authentification, récupérer un fichier, c'est juste un simple GET en HTML. Répérer les champs login et mdp me semble impossible en absolu.
ghFrankfurt
Messages postés
207
Date d'inscription
mardi 16 novembre 2010
Statut
Membre
Dernière intervention
10 décembre 2014
23
7 janv. 2011 à 11:48
7 janv. 2011 à 11:48
Je crois que j'ai oublié de préciser; le fichier doit être télécharger sur le serveur et non sur le pc distant.
Les fichiers qui doivent être téléchargé sont relativement bien sécurisé. (Si j'envoie le lien à quelqu'un, il ne pourra pas le télécharger sans être logué sur le site web)
Je confirme que repérer les champs de login et mdp est faisable pour avoir travaillé quelques mois avec un informaticien non-voyant (Si si, ça existe !) Et là on rentre dans le sujet d'accessibilité et w3c qui est même obligatoire dans certains pays (angleterre par exemple). Et même sans ça un script un peu "casse gueule" avec une saisie de la touche "tab" au pire !
Les fichiers qui doivent être téléchargé sont relativement bien sécurisé. (Si j'envoie le lien à quelqu'un, il ne pourra pas le télécharger sans être logué sur le site web)
Je confirme que repérer les champs de login et mdp est faisable pour avoir travaillé quelques mois avec un informaticien non-voyant (Si si, ça existe !) Et là on rentre dans le sujet d'accessibilité et w3c qui est même obligatoire dans certains pays (angleterre par exemple). Et même sans ça un script un peu "casse gueule" avec une saisie de la touche "tab" au pire !
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 419
7 janv. 2011 à 12:26
7 janv. 2011 à 12:26
Salut,
Sous quelle plateforme tourne ton serveur ?
Sinon, l'automatisation via wget ou cURL doit pouvoir se faire sans problème...
Sous quelle plateforme tourne ton serveur ?
Sinon, l'automatisation via wget ou cURL doit pouvoir se faire sans problème...
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
7 janv. 2011 à 14:13
7 janv. 2011 à 14:13
si la page de connexion est tourjours là même, il n'y a aucun problème, un script sans navigateur peut le faire. Mais faire un script qui repère le champ de login dans n'importe quelle page, là je ne vois pas comment faire !
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 419
7 janv. 2011 à 14:18
7 janv. 2011 à 14:18
Les 2 programmes sus-cités gèrent les logins/mot_de_passe ainsi que les cookies. Normalement il suffit de t'authentifier une fois, de récupérer le cookie et d'appeler la page voulue à l'aide du cookie.
ghFrankfurt
Messages postés
207
Date d'inscription
mardi 16 novembre 2010
Statut
Membre
Dernière intervention
10 décembre 2014
23
7 janv. 2011 à 14:25
7 janv. 2011 à 14:25
Windows XP ... Ce n'est pas un serveur en soit, c'est un poste traitement qui devra être automatisé.
J'ai déjà essayé avec cURL, qui est puissant, certe, mais qui me pose également pas mal de problèmes.
Et je ne suis pas sur de pouvoir y arriver tout cours avec cURL par le simple fait qu'un programme type download manager, n'arrive pas à récupérer le fichier mais seulement une page html...
Je ne peux malheureusement pas vous donner un lien des fichiers en questions car les fichiers sont protégés par des droits, et donc, bien évidemment accessible à peu de personnes.
J'ai déjà essayé avec cURL, qui est puissant, certe, mais qui me pose également pas mal de problèmes.
Et je ne suis pas sur de pouvoir y arriver tout cours avec cURL par le simple fait qu'un programme type download manager, n'arrive pas à récupérer le fichier mais seulement une page html...
Je ne peux malheureusement pas vous donner un lien des fichiers en questions car les fichiers sont protégés par des droits, et donc, bien évidemment accessible à peu de personnes.
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
7 janv. 2011 à 14:39
7 janv. 2011 à 14:39
explicite tes problèmes, peut être que nous aurons la solution.
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 419
7 janv. 2011 à 14:41
7 janv. 2011 à 14:41
Comment se fait l'authentification sur le site web ? html ou php/cgi ?
ghFrankfurt
Messages postés
207
Date d'inscription
mardi 16 novembre 2010
Statut
Membre
Dernière intervention
10 décembre 2014
23
7 janv. 2011 à 15:19
7 janv. 2011 à 15:19
Bonne question ! Vu le code source j'aurais envie de dire html/js
L'un des sites web sur lesquels je dois récupérer des fichiers
http://www.ch.warnermedia.de/
L'un des sites web sur lesquels je dois récupérer des fichiers
http://www.ch.warnermedia.de/
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 419
Modifié par zipe31 le 7/01/2011 à 15:40
Modifié par zipe31 le 7/01/2011 à 15:40
Pourrais-tu essayer ça :
Et me dire déjà si tu récupères un fichier "cookie.txt" dans le répertoire courant...
Édit : Tout est sur une seule ligne
curl -s --cookie-jar "cookie.txt" --data "POSTDATA=PHPSESSID=4233310ef99295a6083ff26ce7fbc3dd&MAX_FILE_SIZE=50000000&service=&action_params=&action=logon&username=XXXX@YYYY.ZZ&password=11111&save_mode=0" -L "http://www.ch.warnermedia.de"
Et me dire déjà si tu récupères un fichier "cookie.txt" dans le répertoire courant...
Édit : Tout est sur une seule ligne
ghFrankfurt
Messages postés
207
Date d'inscription
mardi 16 novembre 2010
Statut
Membre
Dernière intervention
10 décembre 2014
23
Modifié par ghFrankfurt le 10/01/2011 à 09:46
Modifié par ghFrankfurt le 10/01/2011 à 09:46
Désolé de la réponse tardive, je récupère effectivement le fichier avec ce contenu :
# Netscape HTTP Cookie File
# https://curl.se/rfc/cookie_spec.html
# This file was generated by libcurl! Edit at your own risk.
www.ch.warnermedia.de FALSE / FALSE 0 PHPSESSID 022133b8fc5b67361fc3db4d549d99fb
# Netscape HTTP Cookie File
# https://curl.se/rfc/cookie_spec.html
# This file was generated by libcurl! Edit at your own risk.
www.ch.warnermedia.de FALSE / FALSE 0 PHPSESSID 022133b8fc5b67361fc3db4d549d99fb
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 419
10 janv. 2011 à 10:26
10 janv. 2011 à 10:26
Bon maintenant faudrait tester la récupération d'un fichier :
Sous réserve dans la mesure où je ne sais pas comment se présente la page où se trouve ton fichier...
curl --cookie "cookie.txt" -L "http://www.ch.warnermedia.de/chemin/fichier.xxx"
Sous réserve dans la mesure où je ne sais pas comment se présente la page où se trouve ton fichier...
ghFrankfurt
Messages postés
207
Date d'inscription
mardi 16 novembre 2010
Statut
Membre
Dernière intervention
10 décembre 2014
23
Modifié par ghFrankfurt le 10/01/2011 à 11:05
Modifié par ghFrankfurt le 10/01/2011 à 11:05
L'url ce présente sous cette forme là :
http:// ch.warnermedia.de/?service=media%2Ftypes%2Fvideo_download&id=21828&ext=flv&test=dcba6ecceccefd0e827705afdcf8b296
Mais ça n'a pas marché.
http:// ch.warnermedia.de/?service=media%2Ftypes%2Fvideo_download&id=21828&ext=flv&test=dcba6ecceccefd0e827705afdcf8b296
Mais ça n'a pas marché.
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 419
10 janv. 2011 à 11:15
10 janv. 2011 à 11:15
J'avais prévenu ;-))
Et comme ça :
Toujours sans garantie ;-\
Et comme ça :
curl --cookie "cookie.txt" --data "service=media%2Ftypes%2Fvideo_download&id=21828&ext=flv&test=dcba6ecceccefd0e827705afdcf8b296" -L "http://www.ch.warnermedia.de/"
Toujours sans garantie ;-\
ghFrankfurt
Messages postés
207
Date d'inscription
mardi 16 novembre 2010
Statut
Membre
Dernière intervention
10 décembre 2014
23
10 janv. 2011 à 11:34
10 janv. 2011 à 11:34
Malheureusement, ça ne marche toujours pas.
Egalement en rajoutant /? devant service et en enlevant le / après warnermedia.de
Y compris si je suis déjà connecté sur le site web (avec les deux solutions)
Ou en laissant seulement les cookies sans être connecté.
Egalement en rajoutant /? devant service et en enlevant le / après warnermedia.de
Y compris si je suis déjà connecté sur le site web (avec les deux solutions)
Ou en laissant seulement les cookies sans être connecté.
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 419
10 janv. 2011 à 11:37
10 janv. 2011 à 11:37
Ne pouvant faire de tests de mon côté je ne pourrai pas t'en dire plus, désolé ;-((
Il faudrait déjà être sûr que la procédure d'authentification soit bonne et que le cookie récupéré est bien complet...
;-\
Il faudrait déjà être sûr que la procédure d'authentification soit bonne et que le cookie récupéré est bien complet...
;-\
ghFrankfurt
Messages postés
207
Date d'inscription
mardi 16 novembre 2010
Statut
Membre
Dernière intervention
10 décembre 2014
23
10 janv. 2011 à 11:40
10 janv. 2011 à 11:40
C'est pas grave, mais en tout cas, je te remercie beaucoup de ton aide !
Je pense également que celà vient plutôt du contenu du cookie récupéré mais grace à toi je pense que je finirais par trouver.
Si je trouve je tiens au courant.
Je pense également que celà vient plutôt du contenu du cookie récupéré mais grace à toi je pense que je finirais par trouver.
Si je trouve je tiens au courant.
ghFrankfurt
Messages postés
207
Date d'inscription
mardi 16 novembre 2010
Statut
Membre
Dernière intervention
10 décembre 2014
23
Modifié par ghFrankfurt le 10/01/2011 à 11:52
Modifié par ghFrankfurt le 10/01/2011 à 11:52
J'ai finalement réeussi !! Grâce à toi en grande partie !
Alors déjà j'ai remarqué qu'au login il me rappassait la main sur "http://ch.warnermedia.de" plutôt que ça : "http://www.ch.warnermedia.de" La différence semble moindre, mais maintenant j'ai tout le contenu dans mon cookies.txt
Ensuite sur le ligne pour récupérer le fichier. j'ai fait de cette manière :
shell_exec ('curl -L -O --cookie "cookie.txt" "http://ch.warnermedia.de/?service=media%2Ftypes%2Fvideo_download&id=21828&ext=flv&test=dcba6ecceccefd0e827705afdcf8b296"');
Et ça marche :) Encore merci
Alors déjà j'ai remarqué qu'au login il me rappassait la main sur "http://ch.warnermedia.de" plutôt que ça : "http://www.ch.warnermedia.de" La différence semble moindre, mais maintenant j'ai tout le contenu dans mon cookies.txt
Ensuite sur le ligne pour récupérer le fichier. j'ai fait de cette manière :
shell_exec ('curl -L -O --cookie "cookie.txt" "http://ch.warnermedia.de/?service=media%2Ftypes%2Fvideo_download&id=21828&ext=flv&test=dcba6ecceccefd0e827705afdcf8b296"');
Et ça marche :) Encore merci