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

  FORUM HardWare.fr
  Programmation
  PHP

  _VIEWSTATE

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

_VIEWSTATE

n°1076690
jacques33-​40
Vivre c'est déjà lutter !
Posté le 09-05-2005 à 17:45:38  profilanswer
 

Bonjour,
 
Mon souci du jour est le suivant :
 
J’essai d’ouvrir la page d’un site en ASP, http://www.wegolo.be
Le problème est que ce site utilise un _VIEWSTATE.
Hors, lorsque je poste le formulaire que j’ai reproduit en en php, dans la page de réponse, je ne récupère pas la bonne valeur de _VIEWSTATE, j’ai une valeur différente de celle que je devrais avoir et en plus elle semble troqué car elle se termine par un /X.
 
Quelqu’un-t-il eut le problème ?
Y a t-il un moyen de généré directement depuis mon code php ce VIEWSTATE ?
 
Merci pour vos points de vu nombreux qui sûrement pourront m’aider.

mood
Publicité
Posté le 09-05-2005 à 17:45:38  profilanswer
 

n°1076693
yoyo354
Yoyo, le roi du ...
Posté le 09-05-2005 à 17:52:56  profilanswer
 

Et si tu nous donnais un morceau de ton script ?  Ca nous aiderait à t'aider...
 
EDIT : As-tu bien envoyé ton cookies avec ton userid ?  
 
Tu peux également aller directement sur htp://ww.wegolo.be, récupérer ton viewstate et ensuite emplir le formulaire avec cURL par exemple.  
 
Sinon éspères pas générer ton viestate avec php car à la base c'est le moteur asp qui le génère et je pense pas que l'on va te filer l'algo...


Message édité par yoyo354 le 09-05-2005 à 18:13:47

---------------
http://yoyo.eurotchat.net -> Wednesday 14 September a 02:00:01 up 43 days, 11:47,  2 users,  load average: 0.07, 0.03, 0.00
n°1077176
jacques33-​40
Vivre c'est déjà lutter !
Posté le 10-05-2005 à 00:36:31  profilanswer
 

Bien sur, voici plus de détail…
 
En fait, j’utilise pour effectuer mes POST (ou GET), une classe proposé par Tiago Serafim dans  http://www.phpclasses.org/
http://www.phpclasses.org/browse/package/1119.html
Voici la partie de mon code
 
<?php
require('cHTTP.php');
//////////////////////////////// LANCEMENT DE LA REQUETE DE DISPO ////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////  
 $site="be";// choix du site
 $FrLang="flag=3"; //choix de la langue
 
 $http = new cHTTP();
 $http->clearFields();
 
 $url = "http://www.wegolo.$site";
 
 $http->postPage($url);
 $Response = $http->getContent();
 
 $PosParam1=strpos($Response,"(" );
 $PosParam2=strpos($Response," )" );
 $Parametre1=substr($Response,$PosParam1+1,($PosParam2-$PosParam1)-1);// Parametre ID a passer dans chaque url
 
 $http = new cHTTP();
 $http->clearFields();
   
 $url = "http://www.wegolo.$site/($Parametre1)/Step0.aspx?$FrLang";
 $http->postPage($url);
 $Response = $http->getContent();  
 
 
 $PosParam1=strpos($Response,"VIEWSTATE\" value=\"" );
 $PosParam2=strpos($Response,"\" />" );
 $ViewState=substr($Response,$PosParam1+18,($PosParam2-$PosParam1)-18);//
 
 $http->addField("__VIEWSTATE",$ViewState);  
 $http->addField("usrLang","3" );
 $http->addField("txDestination","A/CIT/10413/166" );  //BARCELONA
 $http->addField("txDeparture","A/CIT/10413/10" ); //BRUXELS
 $http->addField("cbDeparture","A/CIT/10413/10" ); //BRUXELS
 $http->addField("cb_destination","A/CIT/10413/166" );//BARCELONA
 $http->addField("cb_day","15" );
 $http->addField("cb_month_year","05.2005" );
 $http->addField("cb_day_return","25" );
 $http->addField("cb_month_year_return","05.2005" );
 $http->addField("cb_person","1" );
 $http->addField("cb_child","0" );
 $http->addField("cb_baby","0" );
 $http->addField("pbSearch.x","30" );
 $http->addField("pbSearch.y","15" );
 
 $url = "http://www.wegolo.$site/($Parametre1)/Step0.aspx?$FrLang";
 $http->postPage($url);
 $Response = $http->getContent(); /// Response doit contenir la page d'attente
 
 $PosParam1=strpos($Response,"VIEWSTATE\" value=\"" );
 $PosParam2=strpos($Response,"\" />" );
 $ViewState=substr($Response,$PosParam1+18,($PosParam2-$PosParam1)-18);// Je récupere le WiewState de la page d'attente
 
 $PosParam1=strpos($Response,"action=\"" );
 $PosParam2=strpos($Response,"id=\"Step0_1\"" );  
 $Parametre3= substr($Response,$PosParam1+8,($PosParam2-$PosParam1)-8);  
 
 $http->addField("__VIEWSTATE",$ViewState);  
 $url = "http://www.wegolo.$site/($Parametre1)/$Parametre3"; //<==> équivaut au JS reload ??
 $http->getPage($url);
 $Response = $http->getContent();
 
 echo $Response; // Doit contenir la page de tarifs
?>
 
Le problème c’est que dans la page d’attente, je ne récupère pas le bon viewstate en retour ….


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

  _VIEWSTATE

 

Sujets relatifs
[C#/ASP.NET] ViewState à la con. Comment le virer ?User control dynamique et Viewstate
Plus de sujets relatifs à : _VIEWSTATE


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)