Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#26 Le 14/12/2010, à 21:27

baba00000000

Re : [Résolu] Le commande console pour internet. ( forum phpbb3 bash)

J'ai une question car a force de tourner en rond sur un fichier et ne pas trouver les correspondance.

J'ai trouver sa comme exemple:

<?php
$a = 1;
$b = 2;
function somme() {
    global $a, $b;
    $b = $a + $b;
}
somme();
echo $b;

La c'est claire a=1 et b=2

La question que je me pose est-ce que les valeurs que je cherche peuvent se trouver dans un autre fichier? Au quels cas j'en ai beaucoup à parcourir.
Où peut être c'est valeur sont déjà dans le cache de firefox ou dans la base du serveur.


http://racketiciel.info

http://racketiciel.info/petition/ Pétition qui ferra peut être changé les installations sur les pc vendu en France.

Hors ligne

#27 Le 14/12/2010, à 23:54

chopinhauer

Re : [Résolu] Le commande console pour internet. ( forum phpbb3 bash)

baba00000000 a écrit :

La question que je me pose est-ce que les valeurs que je cherche peuvent se trouver dans un autre fichier? Au quels cas j'en ai beaucoup à parcourir.
Où peut être c'est valeur sont déjà dans le cache de firefox ou dans la base du serveur.

Les valeurs peuvent être définies dans n'importe quel fichier inclus depuis le script PHP et sont probablement lus depuis une base de données (explicitement, pas implicitement). C'est tout à fait possible que la valeur demandée soit égale à un des cookies que Firefox a reçu (le cookie de session par exemple).

Sinon tu peux aussi lire les valeurs du formulaire en chargeant la page Web où il se trouve et en analysant le résultat.


Pensez à donner un bon titre à vos sujets : cela permettra d'aider d'autres utilisateurs dans votre même situation. Ce n'est pas qu'en donnant des solutions qu'on aide, mais aussi en posant des bonnes questions et… facilement trouvables.

Hors ligne

#28 Le 16/12/2010, à 12:49

baba00000000

Re : [Résolu] Le commande console pour internet. ( forum phpbb3 bash)

Après de multiple recherche, je ne sais pas si mon raisonnement est bon mais je le propose.
Serai t-il pas plus facile de prendre les information des 3 balises et de les intégrés dans la commande post.
Ou mieux prendre les 3 variables et remplire le formulaire en même temps et faire la requête post dans la foulé.
Je sais pas si je suis très claire.

Car les valeurs change à chaque F5. Donc je pense pas que le cookie change autant de fois non ?


http://racketiciel.info

http://racketiciel.info/petition/ Pétition qui ferra peut être changé les installations sur les pc vendu en France.

Hors ligne

#29 Le 16/12/2010, à 12:55

chopinhauer

Re : [Résolu] Le commande console pour internet. ( forum phpbb3 bash)

Oui, extraire les valeurs de la page HTML est la manière facile de procéder.


Pensez à donner un bon titre à vos sujets : cela permettra d'aider d'autres utilisateurs dans votre même situation. Ce n'est pas qu'en donnant des solutions qu'on aide, mais aussi en posant des bonnes questions et… facilement trouvables.

Hors ligne

#30 Le 17/12/2010, à 18:40

baba00000000

Re : [Résolu] Le commande console pour internet. ( forum phpbb3 bash)

curl -s -L "URL/posting.php?mode=post&f=372" --cookie cookie.txt | echo `grep '\(token\|lastclick\|creation_time\)'`

cho '<td' 'class="cat"' 'colspan="2"' 'align="center"><input' 'type="hidden"' 'name="lastclick"' 'value="1292605678"' '/>' '<input' 'type="hidden"' 'name="creation_time"' 'value="1292605678"' '/>' '<input' 'type="hidden"' 'name="form_token"' 'value="660275c1db05ee26276cd660c9ac0f293f72331b"' '/>'
<td class="cat" colspan="2" align="center"><input type="hidden" name="lastclick" value="1292605678" /> <input type="hidden" name="creation_time" value="1292605678" /> <input type="hidden" name="form_token" value="660275c1db05ee26276cd660c9ac0f293f72331b" />

Ce qui est bien c'est que j'ai que 2 valeurs à chercher car lastclick et création_time sont les mêmes smile
Sa avance doucement, j'ai voulu utiliser la fonction cut me paraît bien compliqué.



Sa marche mais je l'ai fais à la main. j'ai fais la permière commande qui m'a donner les valeur que j'ai copier à la main pour les intégrés dans cette ligne:

curl -s -d "subject=testtesttest&message=j'airéussitropbon&attach_sig=on&hide_robot=on&form_token=6513fcb2e23cae97c67311f22af08c09714c0d82&creation_time=1292606134&lastclick=1292606134&post=Envoyer" -L "http://URL/posting.php?mode=post&f=372" --cookie cookie.txt | w3m -dump -T text/html | less

Le poste ce fait bien. Me reste plus qu'à automatisé l'histoire.

Aurais tu une idée de commande?

Dernière modification par baba00000000 (Le 17/12/2010, à 20:45)


http://racketiciel.info

http://racketiciel.info/petition/ Pétition qui ferra peut être changé les installations sur les pc vendu en France.

Hors ligne

#31 Le 18/12/2010, à 02:25

chopinhauer

Re : [Résolu] Le commande console pour internet. ( forum phpbb3 bash)

Grep n'est pas le meilleur outil pour analyser des fichiers HTML, vu que le retours à la ligne n'ont pas beaucoup d'importance, ni l'ordre des attributs, etc… En général grep marche bien pour des langages rationnels, mais HTML n'en est pas en. XSLT est beaucoup plus adapté.

Par exemple ce script :

<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text"/>
<xsl:template match="/">
  <xsl:apply-templates select="//input"/>
</xsl:template>
<xsl:template match="input">
  <xsl:if test="@name='lastclick' or @name='creation_time' or @name='form_token'">
    <xsl:value-of select="@name"/>
    <xsl:text>=</xsl:text>
    <xsl:value-of select="@value"/>
    <xsl:text>&amp;</xsl:text>
  </xsl:if>
</xsl:template>
</xsl:stylesheet>

va te retourner 'form_token=valeur&lastclick=valeur&creation_time=valeur&' si appliquée à la page qui t'intéresse. Pour l'utiliser enregistre-le dans un fichier (form.xsl) et utilise :

xsltproc --html form.xsl fichier.html

Le fichier HTML peut aussi être lu sur le standard input.

Edit : < initial.

Dernière modification par chopinhauer (Le 19/12/2010, à 15:54)


Pensez à donner un bon titre à vos sujets : cela permettra d'aider d'autres utilisateurs dans votre même situation. Ce n'est pas qu'en donnant des solutions qu'on aide, mais aussi en posant des bonnes questions et… facilement trouvables.

Hors ligne

#32 Le 19/12/2010, à 15:35

baba00000000

Re : [Résolu] Le commande console pour internet. ( forum phpbb3 bash)

Je suis trop content, déjà merci pour toute la patience que tu as eu avec moi.
Hier j'ai fais plein de test non concluent, j'ai voulu récrire pour te demande plus d'information. Mais je me suis dis que j'ai tous sous les yeux.

Ce matin, la question que je me suis posé mais c'est quoi ce fichier.html ( d'ailleur hier aussi mdr) et je sais pas je me suis dis que sa devait être le code de la page. Alors j'ai redirigé ma page en question dans le fichier.html Et j'ai lancer ta commande. Et elle à marcher.
J'ai continué en intégrant le tout dans mon code.
Et tout fonctionne.

curl -s -d "username=SPEUDO&password=PASS&sid=4600d0ed538efa2b58020c757c49252e&redirect=index.php&login=Connexion&redirect=.%2Fucp.php%3Fmode%3Dlogin" -L "http://URL/ucp.php?mode=login" --cookie-jar cookie.txt

curl -s -L "http://URL/posting.php?mode=post&f=372" --cookie cookie.txt>fichier.html

VAR=`xsltproc --html form.xsl fichier.html`


curl -s -d "subject=TITRE&message=MESSAGE&'$VAR'attach_sig=on&hide_robot=on&post=Envoyer" -L "http://URL/posting.php?mode=post&f=372" --cookie cookie.txt

Je pense aussi que au moment du copier coller il manque au début un "<" non ?


http://racketiciel.info

http://racketiciel.info/petition/ Pétition qui ferra peut être changé les installations sur les pc vendu en France.

Hors ligne

#33 Le 19/12/2010, à 15:54

chopinhauer

Re : [Résolu] Le commande console pour internet. ( forum phpbb3 bash)

baba00000000 a écrit :

Ce matin, la question que je me suis posé mais c'est quoi ce fichier.html

Pardon, c'est le fichier à analyser. Il peut aussi être fourni sur l'entrée standard de xlstproc comme dans :

curl -s -L "http://URL/posting.php?mode=post&f=372" --cookie cookie.txt | xsltproc --html form.xsl
baba00000000 a écrit :

Je pense aussi que au moment du copier coller il manque au début un "<" non ?

Oui, il s'est perdu aussi.


Pensez à donner un bon titre à vos sujets : cela permettra d'aider d'autres utilisateurs dans votre même situation. Ce n'est pas qu'en donnant des solutions qu'on aide, mais aussi en posant des bonnes questions et… facilement trouvables.

Hors ligne

#34 Le 22/12/2010, à 20:18

baba00000000

Re : [Résolu] Le commande console pour internet. ( forum phpbb3 bash)

Je sais que c'est résolut. J'analyse ton code toujours avec mes connaisses et je me pose des questions.

1)

<xsl:template match="/">
  <xsl:apply-templates select="//input"/>
</xsl:template>
<xsl:template match="input">

Si tu pouvais m'en dire plus sur cette partie.
Je vois //input. C'est pas top claire dans ma tête.

2)

<xsl:text>&amp;</xsl:text>

Ici j'aurai voulut savoir amp; à quoi sa correspondait. Car & c'est pour avoir ce signe à la fin afin de séparé correctement

En fait j'essaye de comprendre ce que tu as fait en essayant de prendre ton exemple une phrase dans une page mais je pense qu'il me manque une chose. Je suis parti dans l'optique que l'on pouvais prendre n'importe quel mots dans une pages. Mais après analyse de ton code tu utilise des valeurs.
Aurait tu des liens pour me documenté. Merci bien.


http://racketiciel.info

http://racketiciel.info/petition/ Pétition qui ferra peut être changé les installations sur les pc vendu en France.

Hors ligne

#35 Le 22/12/2010, à 20:49

chopinhauer

Re : [Résolu] Le commande console pour internet. ( forum phpbb3 bash)

T'as un tutoriel sur XSL sur CommentÇaMarche.

baba00000000 a écrit :

Si tu pouvais m'en dire plus sur cette partie.
Je vois //input. C'est pas top claire dans ma tête.

La transformation que je fais est assez simple. J'ai deux template : un pour l'élément racine (/) et un pour les éléments input. Pour l'élément racine je sélectionne tous les éléments input contenus (//input signifie fils, grands-fils, etc… de type Input) et je leur applique le template correspondant. Le template input dit de cherche l'attribut name (@name) et l'attribut value (@name) et d'écrire <name>=<value>&.

baba00000000 a écrit :

2)

<xsl:text>&amp;</xsl:text>

Ici j'aurai voulut savoir amp; à quoi sa correspondait. Car & c'est pour avoir ce signe à la fin afin de séparé correctement

Le caractère & ne peut pas apparaître seul dans un fichier HTML ou XML. En effet il est utilisé pour introduire une entité (comme un caractère, constante, chaîne…) : par exemple '&egrave;', '&euro;', '&copy;', etc… Du coup il faut une manière pour introduire le caractère &. Cela se fait en utilisant l'entité &amp; (comme ampersand).


Pensez à donner un bon titre à vos sujets : cela permettra d'aider d'autres utilisateurs dans votre même situation. Ce n'est pas qu'en donnant des solutions qu'on aide, mais aussi en posant des bonnes questions et… facilement trouvables.

Hors ligne