1

J'aimerais bien arriver à récupérer certaines définitions du Trésor de la langue française sans passer par un navigateur web. Du coup, j'ai tout de suite pensé à Curl, mais ça ne veut pas marcher.
J'arrive à récupérer la page d'accueil avec
`curl -c cookiesOut.txt -D headersOut.txt -o accueil.html http://atilf.atilf.fr/dendien/scripts/tlfiv4/showps.exe?p=combi.htm;java=no;`;
`mv cookiesOut.txt cookiesIn.txt`;


Ensuite, j'aimerais simuler la recherche d'un mot dans le formulaire « valider 3 ».
j'arrive à récupérer l'adresse du formulaire, mais pas à « envoyer » le formulaire correctement. Je fais un
`curl -c cookiesOut.txt -b cookiesIn.txt -F "hid=;group=2;" -o liste.html $url`;
(où $url est l'adresse du formulaire), et la page enregistrée dit que je n'ai pas renvoyé le jeux complet d'en-tête http sad



(pour info, le formulaire ressemble à ça :
<form name=selform method=POST action=/dendien/scripts/tlfiv5/detgroup.exe?9;s=1671188400; target=_parent onSubmit=document.forms.selform.elements.hid.value=document.forms.selform.elements.group.options[document.forms.selform.elements.group.options.selectedIndex].text>
<input type=hidden name=hid>
<p align=center>Choisissez dans quelle tranche alphabétique<br>
se trouve le mot cherché</p>
<center><table border=3><tr><td><center><select name=group size=10>
<option value=0 selected>A à ABOTÉ
<option value=1>ABOUCHEMENT à ACARÉ
<option value=2>ACARÊMER (S') à ACCOUVER

...

</select></center></td>
</tr><tr><td><center><input type=submit value="Valider 3"></center></td></tr></table></center></form>

avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

2

Il sert à quoi le second point-virgule dans le paramètre de l'option -F ?
avatar

3

à rien ? cheeky
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

4

Pourquoi tu ne donnes pas la valeur attendue à hid ?
`curl -c cookiesOut.txt -b cookiesIn.txt -F "hid=ACARÊMER (S') à ACCOUVER;group=2;" -o liste.html $url`;
avatar

5

C'est du HTML valide, ça ? hum
normalement, les <input type="hidden"> ont leur valeur définie dans la balise, non ? cf. http://fr.selfhtml.org/html/formulaires/elementscaches.htm
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

6

Bah ouais, mais y a du Javascript là wink Regarde le onSubmit du form...
avatar

7

Je vais essayer, mais le truc est censé marcher sans javascript confus
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

8

Bon, je viens d'essayer avec `curl -c cookiesOut.txt -b cookiesIn.txt -F "hid=ACARÊMER (S') à ACCOUVER;group=2" -o liste.html $url`, et ça ne marche pas mieux sad
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

9

$urlAvec curl -d "hid=ACIDIFIABLE%20%E0%20ACTIVER&group=4" -o liste.html, ça fonctionne smile
avatar

10

Ça marche chez toi ?
• Flanker jaloux


(nan, pas moyen de le faire marcher :/ il me renvoie toujours la même erreur )

Pourtant, je fais juste :
<?php
`curl -c cookiesOut.txt -D headersOut.txt -o accueil.html http://atilf.atilf.fr/dendien/scripts/tlfiv4/showps.exe?p=combi.htm;java=no;`;
`mv cookiesOut.txt cookiesIn.txt`;
$accueil = file_get_contents('accueil.html');
$t1 = strpos($accueil, '<form name=selform method=POST action=/dendien/scripts/tlfiv5/detgroup.exe');
$t1 = strpos($accueil, '/dendien/scripts/', $t1);
$t2 = strpos($accueil, ' target=_parent', $t1);
$url = 'http://atilf.atilf.fr'.substr($accueil, $t1, $t2 - $t1);
echo "next url = $url \n";
`curl -d "hid=ACIDIFIABLE%20%E0%20ACTIVER&group=4" -o liste.html $url`;
?>

avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

11

ça marche chez moi cheeky
Tekken Punch !!! beuh Love Hina déjà fini ... :'(
Japan-A-Radio
Vertyos@| les modos sont des enculés
Vertyos@| y'a des queues partout, un vrai bonheur'

12

Exactement le même script ? (tu obtiens quoi comme page ? )
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

13

Tekken Punch !!! beuh Love Hina déjà fini ... :'(
Japan-A-Radio
Vertyos@| les modos sont des enculés
Vertyos@| y'a des queues partout, un vrai bonheur'

14

[cite]Erreur CGI

L'application CGI spécifiée n'a pas renvoyé le jeu complet d'en-têtes HTTP.[/pre]
?

Il faudrait plutôt
	
Recherche d'un mot dans la tranche "ACARÊMER (S') à ACCOUVER".

Choisissez le mot désiré, puis validez.


avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

15

Flanker, il ne faut pas laisser les points-virgules non protégés dans l'URL smile

<?php 
`curl -c cookiesOut.txt -D headersOut.txt -o accueil.html  http://atilf.atilf.fr/dendien/scripts/tlfiv4/showps.exe?p=combi.htm;java=no;`;  
`mv cookiesOut.txt cookiesIn.txt`; 
$accueil = file_get_contents('accueil.html'); 
$t1 = strpos($accueil, '<form name=selform method=POST action=/dendien/scripts/tlfiv5/detgroup.exe'); 
$t1 = strpos($accueil, '/dendien/scripts/', $t1); 
$t2 = strpos($accueil, ' target=_parent', $t1); 
$url = 'http://atilf.atilf.fr'.str_replace(";", "\;", substr($accueil, $t1, $t2 - $t1)); 
echo "next url = $url \n"; 
`curl -d "hid=ACIDIFIABLE%20%E0%20ACTIVER&group=4" -o liste.html $url`; 
?>
avatar

16

On est censé échapper les ; dans les url ? hum

En tout cas, ça marche smile Merci pour le temps passé dessus smile
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

17

Il faut les échapper, sinon, ce que tu exécutes est une séquence, et tout ce qui se trouve après le premier point-virgule n'est plus dans l'URL.
avatar

18

Ok, merci encore ^^
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant