en guise de up.. c'est quoi exactement le ${HTTP_POST_URL} ? il faut que je mette quelque chose là dedans ? comment il sait que je vais à cette adresse ?
[Résolu] Un script en batch pour récupérer des infos sur le web ?
C'est l'URL sur laquelle tu fais ta requête d'authentification.
La méthode POST veut dire que tu envoies vers le serveur les valeurs après --post-data
La méthode POST veut dire que tu envoies vers le serveur les valeurs après --post-data
- Modifié
merci pour l'éclaircissement, mais dans ma commande je mets à aucun moment l'url, donc en lançant ça c'est pas bon si ?:
wget -O - --post-data="ctl00$ContentMain$TxtNumGSM=TOTO&ctl00$ContentMain$TxtCodeSecret=TITI" "http://lurlquejeveux" 2>/dev/null
entre temps j'ai lu pas mal de choses, il faut impérativement que j'utilise la gestion des cookies, j'ai vu des choses comme ça :$ wget --cookies=on --keep-session-cookies --save-cookies=cookie.txt http://first_page
$ wget --referer=http://first_page --cookies=on --load-cookies=cookie.txt --keep-session-cookies --save-cookies=cookie.txt http://second_page
je teste beaucoup de choses sans succès, voici les dernières commandes qui me semblent être proche de ce qu'il faudrait avoir :
pour la page de login:
pour la page de login:
wget --save-cookies cookies.txt \
--keep-session-cookies \
--post-data 'ctl00_ContentMain_TxtNumGSM=NUMERO&ctl00_ContentMain_TxtCodeSecret=MOTDEPASSE' \
-O - \
"https://espace-client.simplicime.com/Pages/Identification/AccesDirect.aspx?idModule=13" 2>/dev/null 1> /tmp/wget.tmp
Puis la page qui m'intéresse :wget --load-cookies cookies.txt \
--keep-session-cookies \
-O - \
-p https://espace-client.simplicime.com/Pages/FactureConsos/InfosConso.aspx 2>/dev/null 1> /tmp/wget.tmp
Mais voilà la dernière page que j'obtiens est : page invalide, vous devez être connecté pour y accéder... donc j'ai un problème dans l'accès à la page..Que contient /tmp/wget.tmp après ta première requête ?
Ca correspond à ce que tu vois lorsque tu fais ta connexion par un navigateur type Firefox ?
Ca correspond à ce que tu vois lorsque tu fais ta connexion par un navigateur type Firefox ?
oui c'est ça, c'est la page de connexion 🙂
ce que contient wget.tmp après la seconde requête est la page d'erreur me disant qu'il faut me logger. Le cookie.txt lui affiche une clé et deux FALSE.. je sais pas si c'est bon signe ou pas...
merci pour l'aide :-D le faire fonctionner pour noêl serait super.. !
ce que contient wget.tmp après la seconde requête est la page d'erreur me disant qu'il faut me logger. Le cookie.txt lui affiche une clé et deux FALSE.. je sais pas si c'est bon signe ou pas...
merci pour l'aide :-D le faire fonctionner pour noêl serait super.. !
Je parle du /tmp/wget.tmp après la 1ère requête 🙂
Voir si déjà ton authentification est correcte.
Voir si déjà ton authentification est correcte.
- Modifié
Je répète :hammer:
edit: tant que j'y étais j'ai décris tout, mais j'ai bien répondu !!
toi wrote:Ca correspond à ce que tu vois lorsque tu fais ta connexion par un navigateur type Firefox ?
Donc c'est bien la page de connexion que je vois après la première requête.moi wrote:oui c'est ça, c'est la page de connexion smile
edit: tant que j'y étais j'ai décris tout, mais j'ai bien répondu !!
Désolé mes yeux ont du mal aujourd'hui 🙂
wget --save-cookies cookies.txt \
--keep-session-cookies \
--post-data 'ctl00_ContentMain_TxtNumGSM=NUMERO&ctl00_ContentMain_TxtCodeSecret=MOTDEPASSE' \
-O - \
"https://espace-client.simplicime.com/Pages/Identification/AccesDirect.aspx?idModule=13" \
-p https://espace-client.simplicime.com/Pages/FactureConsos/InfosConso.aspx 2>/dev/null 1> /tmp/wget.tmp
ça ne fonctionnerait pas ça ? (peut-être sans le -p)Disons que le p ne sert 'qu'à' télécharger tous les éléments de la page, pour mieux l'afficher.. a priori pas de souci, en revanche je trouve ça bizarre de mettre 2 urls comme ça, je vais essayé. C'est un test Sky ou tu es sûr de toi ?
C'est un test !
J'enchaine régulièrement les URL quand j'ai besoin de télécharger plusieurs fichiers (ex : wget http://www.mondomaine.com/IMG{1,2,3}.jpg et pouf 3 images en 1 ligne de commande)
J'enchaine régulièrement les URL quand j'ai besoin de télécharger plusieurs fichiers (ex : wget http://www.mondomaine.com/IMG{1,2,3}.jpg et pouf 3 images en 1 ligne de commande)
- Modifié
Cela ne donne rien de probant, j'ai essayé sans le -O - pour pouvoir voir les messages d'erreur, et j'ai d'innombrables :
EDIT je précise que 2 étapes semblent nécessaires, d'après ce que j'ai lu,
1. Authentification et récupérartion des cookies
2. affichage de la page que l'on veut
voici où j'ai pêché les infos http://stackoverflow.com/questions/1324421/wget-post-data-hwto
--2010-12-24 11:56:53-- https://espace-client.simplicime.com/images/ecare/SIM/menu/nav-arr-g.gif
Réutilisation de la connexion existante vers espace-client.simplicime.com:443.
requête HTTP transmise, en attente de la réponse... 405 Method Not Allowed
2010-12-24 11:56:54 ERREUR 405: Method Not Allowed.
-------------------------------------------------------------------------------EDIT je précise que 2 étapes semblent nécessaires, d'après ce que j'ai lu,
1. Authentification et récupérartion des cookies
2. affichage de la page que l'on veut
voici où j'ai pêché les infos http://stackoverflow.com/questions/1324421/wget-post-data-hwto
je viens de trouver cet autre script qui semble être sans fautes :
#!/bin/sh
site=http://your site url with a slash on the end/
name=ScriptUser
pass=somethingsecure
cookies=/tmp/cron-cookies.txt
wget -O /dev/null --save-cookies /tmp/ba-cookies.txt --keep-session-cookies --load-cookies $cookies "${site}user"
wget --keep-session-cookies --save-cookies $cookies --load-cookies $cookies -O /dev/null \
--post-data="name=$name&pass=$pass&op=Log%20in&form_id=user_login" \
"${site}user?destination=login_redirect"
wget --keep-session-cookies --save-cookies $cookies --load-cookies $cookies "${site}login_redirect"
Mon problème c'est de savoir ce que je mets dans --post-data maintenant.. car c'est là que ça pause problème...Il y a un gros problème car la validation n'était pas effective, d'une part, il y a bien un champs valeur contrairement à ce que l'on m'a dit, le voici :
<input type="submit" name="ctl00$ContentMain$BtnValider" value="VALIDER" onclick="afficherAttente();" id="ctl00_ContentMain_BtnValider" class="bouton_ok" />
d'après le script que j'ai mis au dessus il faudrait faire une requete de la sorte :
wget --keep-session-cookies --save-cookies $cookies --load-cookies $cookies -O /dev/null \
--post-data="ctl00$ContentMain$TxtNumGSM=$name&ctl00$ContentMain$TxtCodeSecret=$pass&ctl00$ContentMain$BtnValider=$value" \
"${site}"
Pour moi la méthode POST (méthode HTTP utilisée pour envoyer les données) correspond au Valider, donc il suffit de mettre dans les data les valeurs correspondantes à celles transmises lorsque tu remplis le formulaire dans Firefox et ça devrait le faire.
heu là jte suis plus !
je précise que j'avais mis dans mon script value=VAILDER
Je comprends pas ce que tu veux dire, tu veux que je mette quoi où ?
je précise que j'avais mis dans mon script value=VAILDER
Je comprends pas ce que tu veux dire, tu veux que je mette quoi où ?
En fait, par défaut, quand tu fais une requête vers un serveur web, elle est de type GET.
Pour envoyer des informations avec ta requête avec un type GET, ton URL doit être de la forme :
Dans ton cas, il s'agit d'une requête POST et pour moi le fait d'utiliser cette requête est équivalent à cliquer sur le bouton valider donc il n'est pas nécessaire de mettre
dans les données --post-data
GET/POST
Pour envoyer des informations avec ta requête avec un type GET, ton URL doit être de la forme :
http://www.mondomaine.com/?var1=valeur1&var2=valeur2&var3=valeur3 ...
L'autre possibilité est de faire une requête POST où les valeurs n'apparaissent pas directement dans l'URL.Dans ton cas, il s'agit d'une requête POST et pour moi le fait d'utiliser cette requête est équivalent à cliquer sur le bouton valider donc il n'est pas nécessaire de mettre
ctl00$ContentMain$BtnValider=$value
dans les données --post-data
GET/POST
d'accord j'ai pigé, bon par contre cela ne résout pas mon problème, le login n'est pas effectif.. de toute manière..
Out of Ideas 🙁
Désolé et bon courage !
Désolé et bon courage !
Bonjour,
Pour me connecter au freewifi à partir d'un routeur sous Openwrt, j'ai utiliser le script suivant qui permet de se logger et de récupérer une chaine de caractères "CONNEXION AU SERVICE REUSSIE" après validation du login et du mdp.
J'avoue avoir parcouru le fil un peu vite peut être que je n'apporte pas grand chose de nouveau au problème.
En espérant être utile tout de même.
Bonnes fétes et Jouyeux Noẽl à tous.
Pour me connecter au freewifi à partir d'un routeur sous Openwrt, j'ai utiliser le script suivant qui permet de se logger et de récupérer une chaine de caractères "CONNEXION AU SERVICE REUSSIE" après validation du login et du mdp.
#!/bin/sh
# /root/connect_freewifi.sh
# used some samples in
# - http://www.webynux.net/tutoriels/automatiser-la-connexion-a-freewifi-sous-ubuntu.html
# - http://forum.ubuntu-fr.org/viewtopic.php?pid=3157284
#--------
# source : 27/02/2010
# https://forum.openwrt.org/viewtopic.php?pid=102382
#--------
LOGIN=le pere
PASSWORD=Noel
echo "*********************"
echo get an ip from dhcp
echo "*********************"
udhcpc -i wlan0 -b
echo
echo "************************************"
echo Posting authentication credentials
echo "************************************"
wget -O - --post-data="login=$LOGIN&password=$PASSWORD" "https://wifi.free.fr/Auth" > /tmp/free_wifi_step2.html
grep "CONNEXION AU SERVICE REUSSIE" /tmp/free_wifi_step2.html 1>/dev/null 2>&1 && logger "Connection FreeWifi OK" && echo "Connection FreeWifi OK"
echo "*****"
echo End
echo "*****"
J'avoue avoir parcouru le fil un peu vite peut être que je n'apporte pas grand chose de nouveau au problème.
En espérant être utile tout de même.
Bonnes fétes et Jouyeux Noẽl à tous.