Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1554 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [PHP+SHELL]

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PHP+SHELL]

n°1791766
lothard
Posté le 25-09-2008 à 12:05:30  profilanswer
 

Bonjour,
 
J'ai un script qui me permet de remplir automatiquement un formulaire donné. J'ai une base de données dans laquelle je récupère ce qui va remplir le formulaire. C'est notre pote php qui s'en occupe et qui crée la chaine "&maValeur=saValeur...." que je vais envoyer enPOST.
 
Il laisse ensuite la besogne d'envoyer tout ça a un script shell utilisant wget. ça marche nickel quand j'envoie sur un webservice. Mais un de mes autres clients n'a pas de webservice et utilise un super systeme de tracking.
 
Celui-ci m'a envoyé un lien taggué que je visite avec un premier wget. je sauve le cookie et je fais un keep session cookie aussi. Je refais ensuite un wget avec mes données en POST sur l'url du formulaire en chargeant le cookie créé précédemment.
 
Les formulaires sont bien acceptés mais le gars est incapable de remontrer jusqu'a moi avec son tag. J'ai envoyé une vingtaine de formulaire et seulement 3 ont pu etre remontés correctement jusqu'a moi alors qu'ils sont tous acceptés (je reçois la confirmation de l'enregistrement du fomulaire).
 
Pour cela j'aimerai savoir : Sachant que je ne passe pas par un navigateur ou sont stockés les cookies du keep session cookie (script lancé sur un serveur distant tournant sur Ubuntu) ?
 
ou alors le tag met trop de temps à remonter et mon script va trop vite (j'ai essayé en mettant un délai entre chaque envoi ça n'a rien changé) ?
 
Cette histoire traine depuis trop longtemps et je ne comprend pas pourquoi.
Celui qui trouve la solution a mon probleme aura le droit a un bisou !  
 
voici mon pote .sh :
 

Citation :


OUTPUT="yop"
FILE="dossiers.txt"
echo''>mail.txt
echo 'Donnees transmises avec le formulaire :'>>mail.txt
/bin/cat $FILE | while read LINE
 
do
 /usr/bin/wget  --save-cookies=cookieTest.txt  --keep-session-cookies -O temp.html  $AFFILIATION
 sleep 10
 rm -f temp.html
 /usr/bin/wget -nv  $SITE --load-cookies cookieTest.txt -O $OUTPUT'.html' --post-data $LINE
 echo $LINE'\n'>>mail.txt
 echo '\n'>>mail.txt
        sleep 10
 
done


 
dans "dossiers.txt" sont stockées mes chaines de caractère que je ferai passer en POST. $MAIL est juste la pour voir quelles données j'ai envoyé.
$AFFILIATION est l'url du site en tracké
$SITE est l'url du fomulaire
l'url $AFFILIATION redirige vers l'url $SITE.
 
 
Merci de votre aide.

mood
Publicité
Posté le 25-09-2008 à 12:05:30  profilanswer
 

n°1791794
dwogsi
Défaillance cérébrale...
Posté le 25-09-2008 à 13:11:28  profilanswer
 

[:sovxx]
Je voudrais bien t'aider... Mais c'est pas très clair tout ça et puis comme ça, sans vraiment avoir de données techniques (du code par exemple) je vois pas bien comment on pourrait deviner d'où vient ton problème.
 
Sinon est ce que ça fonctionne bien si tu utilise un navigateur plus traditionnel? Genre FireFox par exemple. Si oui, as tu essayé de repérer quelles sont les différences avec wget? Si tu as deux comportement différent, doit forcément y en avoir?


Message édité par dwogsi le 25-09-2008 à 13:11:45

---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
n°1791838
lothard
Posté le 25-09-2008 à 14:43:46  profilanswer
 

ok, alors à ce moment la quelles sont les différences entre la fonction wget et un navigateur classique ? quand on rentre un formulaire à la main en passant par l'url trackée, tout fonctionne correctement, l'inscription du formulaire + le tag. mais en passant par le script ça marche pas. le coin ou ça doit poser probleme est dans le script shell que j'ai donné en commentaire plus haut. Sachant qu'il y a des moments ou ça marche (3 sur une quantité enorme d'essais)... quand je contacte les gars responsables du tracking (qui sont une societe differente de la societe du formulaire -_-" ) ils me disent que les formulaires que je remplis ( "200 ok" de la part de l'hébergeur du formulaire avec la page de confirmation en retour, c'est dans la boite) ne sont pas attribués à mon tag...

n°1791862
omega2
Posté le 25-09-2008 à 15:21:47  profilanswer
 

Si c'est un problème de script shell alors ta question doit être posé dans la catégorie "Shell/Batch".
Mais vu que t'as posé la question dans la catégorie PHP, je vais te poser une question con : tu sais que php dispose de tout ce qu'il faut pour contacter des serveurs distants en fournissant des entêtes (telles que les cookies) ? D'ailleurs il y a même des gens qui ont fait des classes en PHP disponibles sur le net et qui permettent de simplifier tout ça en ayant juste le contenu et l'adresse à fournir, ces scripts s'occupant de gérer tout ce qui doit être persistant (cookie entre autre)
 
En bref, sauf réglage du serveur qui empêche les appels distant, je ne vois vraiment pas pourquoi t'es aller te compliquer la vie comme ça (mais si l'administrateur du serveur a bloqué ça, je ne vois pas pourquoi il aurait laissé wget disponible).

n°1796439
sputnick
bip...bip...bip...bip...bi...b
Posté le 07-10-2008 à 01:00:03  profilanswer
 

Peux-tu préciser quelles sont les noms de ces classes "magiques" ou modules php omega2 ?


Message édité par sputnick le 07-10-2008 à 01:00:18

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [PHP+SHELL]

 

Sujets relatifs
[Shell/Bash] Compter nombre de fichiers dans un répertoireProblème avec PHP photo module
Recuperer les informations du formualaire en PHP[PHP] equivalent de super en php
récuperer variable dans script shell avec formulaire PHP[PHP + SHELL] impossible d'exécuter un shell dans lighttpd
Traitement PHP / Shell[PHP] PB avec safe_mode et shell_exec
[ PHP / shell ] Lancer une application[PHP] shell_exec() pb de droits
Plus de sujets relatifs à : [PHP+SHELL]


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR