Script automatisation de login site web [Résolu/Fermé]
Signaler
ghFrankfurt
zipe31
- Messages postés
- 207
- Date d'inscription
- mardi 16 novembre 2010
- Statut
- Membre
- Dernière intervention
- 10 décembre 2014
zipe31
- Messages postés
- 36299
- Date d'inscription
- dimanche 7 novembre 2010
- Statut
- Contributeur
- Dernière intervention
- 27 janvier 2021
A voir également:
- Script connexion automatique site web
- Script automatisation de login site web ✓ - Forum - Programmation
- Script moteur de recherche site web ✓ - Forum - Webmaster
- Automatisé une action sur un site web ✓ - Forum - PHP
- Login prédéfinis sur site web ✓ - Forum - PHP
- Cherche scripte pour vendre mes template et mais site web . ✓ - Forum - Webmaster
21 réponses
Char Snipeur
- Messages postés
- 9688
- Date d'inscription
- vendredi 23 avril 2004
- Statut
- Contributeur
- Dernière intervention
- 2 octobre 2020
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
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
- 9688
- Date d'inscription
- vendredi 23 avril 2004
- Statut
- Contributeur
- Dernière intervention
- 2 octobre 2020
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
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 !
zipe31
- Messages postés
- 36299
- Date d'inscription
- dimanche 7 novembre 2010
- Statut
- Contributeur
- Dernière intervention
- 27 janvier 2021
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
- 9688
- Date d'inscription
- vendredi 23 avril 2004
- Statut
- Contributeur
- Dernière intervention
- 2 octobre 2020
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
- 36299
- Date d'inscription
- dimanche 7 novembre 2010
- Statut
- Contributeur
- Dernière intervention
- 27 janvier 2021
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
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
- 9688
- Date d'inscription
- vendredi 23 avril 2004
- Statut
- Contributeur
- Dernière intervention
- 2 octobre 2020
explicite tes problèmes, peut être que nous aurons la solution.
zipe31
- Messages postés
- 36299
- Date d'inscription
- dimanche 7 novembre 2010
- Statut
- Contributeur
- Dernière intervention
- 27 janvier 2021
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
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
- 36299
- Date d'inscription
- dimanche 7 novembre 2010
- Statut
- Contributeur
- Dernière intervention
- 27 janvier 2021
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
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
- 36299
- Date d'inscription
- dimanche 7 novembre 2010
- Statut
- Contributeur
- Dernière intervention
- 27 janvier 2021
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
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
- 36299
- Date d'inscription
- dimanche 7 novembre 2010
- Statut
- Contributeur
- Dernière intervention
- 27 janvier 2021
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
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
- 36299
- Date d'inscription
- dimanche 7 novembre 2010
- Statut
- Contributeur
- Dernière intervention
- 27 janvier 2021
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
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
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