OVH Cloud OVH Cloud

Help Web et mode console.

3 réponses
Avatar
Olivier
Bonjour

Est il possible en ligne de commande d'envoyer un identifiant et mot de
passe a une page web et de rediriger la sortie par exemple dans un
fichier ?
exemple je voudrais envoyer a cette page en mode console :
http://adsl.free.fr/suivi/suivi_tech.html mes identifiants de façon a
rediriger la sortie dans un fichier


Merci a tous

3 réponses

Avatar
TiChou
Dans le message <news:418ed475$0$32215$,
*Olivier* tapota sur f.c.o.l.configuration :

Bonjour


Bonjour,

Est il possible en ligne de commande d'envoyer un identifiant et mot de
passe a une page web


Tout dépend du type d'authentification de la page web en question.
Ça peut être une authentification .htaccess, une authentification via un
formulaire HTML envoyé par la méthode GET ou le méthode POST ou autre. Pour
les deux premiers type d'authentification, on peut utiliser wget ou lynx :

Authentification .htaccess :

$ wget --http-user="user" --http-passwd="password" http://site/page.html

$ lynx -auth="user:password" http://site/page.html

Authentification avec le formulaire suivant :

<form action="auth.pl" method="POST">
<input type="text" name="login">
<input type="password" name="passwd">
<input type=submit name="ok">
</form>

$ wget --post-data="login=user&passwd=password" http://site/page.html

$ echo "login=user&passwd=password" | lynx -post-data http://site/page.html

De plus, pour accéder à une page web, l'authentification peut ne pas suffir.
En effet, certains sites vérifient aussi l'en-tête Referer. wget permet
d'envoyer l'en-tête Referer, lynx ne le permet pas :

wget --referer http://site/home.html http://site/members.html

et de rediriger la sortie par exemple dans un fichier ?


Oui, par exemple avec wget ou lynx :

$ wget -O fichier http://site/page.html

$ lynx -source http://site/page.html > fichier

$ lynx -dump http://site/page.html > fichier (page HTML parsée)

exemple je voudrais envoyer a cette page en mode console :
http://adsl.free.fr/suivi/suivi_tech.html mes identifiants de façon a
rediriger la sortie dans un fichier


En analysant le source de cette page web, on voit qu'il s'agit d'un
formulaire HTML envoyée par la méthode POST vers suivi_techgrrr.pl :

<form action="suivi_techgrrr.pl" method="POST">
<input type="text" name="login" maxlength="20" size="20">
<input type="password" name="pass" maxlength="10" size="10">
<input border=0 name=ok src="/im/btn_envoyer.gif" type=image value=submit
width="56" height="19" alt="Envoyer">
</form>

De plus, un test sur l'envoi du formulaire permet de se rendre compte qu'il
y a une vérification du Referer.
Pour récupérer la page, on peut alors faire ainsi :

$ wget --post-data "login=&pass¡b2c3d4"
--referer "http://adsl.free.fr/suivi/suivi_tech.html"
"http://adsl.free.fr/suivi/suivi_techgrrr.pl"
--quiet -O resultat.html

On peut par la suite parser la page html avec lynx pour rendre la page plus
lisible ou exploitable :

$ lynx -dump resultat.html > resultat.txt

Je vous invite à lire les manuels de wget et lynx pour plus d'options et de
précisions.

Merci a tous


De rien. Notez tout de même que votre demande n'est pas du tout en charte
puisqu'elle n'a rien à voir avec la configuration et l'administration sous
Linux. Peut être qu'il aurait été préférable de se diriger vers le groupe
fr.comp.infosystemes.www.navigateurs ou encore fr.comp.os.unix.

--
TiChou

Avatar
Olivier
TiChou wrote:


Merci a tous


De rien. Notez tout de même que votre demande n'est pas du tout en charte
puisqu'elle n'a rien à voir avec la configuration et l'administration sous
Linux. Peut être qu'il aurait été préférable de se diriger vers le groupe
fr.comp.infosystemes.www.navigateurs ou encore fr.comp.os.unix.

Effectivement j'aurai mieux fait de consulter la charte avant !!

En tous cas merci beaucoup :-)


Avatar
Nicolas George
"TiChou" wrote in message :
on peut utiliser wget ou lynx :


Je pense qu'une réponse à une question de ce type ne peut pas être complète
sans parler de curl :

curl is a tool to transfer data from or to a server, using one of the
supported protocols (HTTP, HTTPS, FTP, FTPS, GOPHER, DICT, TELNET, LDAP
or FILE). The command is designed to work without user interaction.

curl offers a busload of useful tricks like proxy support, user authen-
tication, ftp upload, HTTP post, SSL (https:) connections, cookies,
file transfer resume and more. As you will see below, the amount of
features will make your head spin!

C'est chose faite. Après, pour des trucs plus subtils, le mieux est
certainement de s'orienter vers la libwww-perl, mais c'est une autre
histoire.