Bien sur, voici plus de détail
En fait, jutilise 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 cest que dans la page dattente, je ne récupère pas le bon viewstate en retour
.