Ciao a tutti
Sto usando la classe Snoopy per una comunicazione Server to Server e fa proprio al caso mio, però ho 1 intoppo
Spiego in breve cosa sto facendo:
- Sfruttando la Snoopy Class eseguo dal mio 127.0.0.1 un LogIn su un server Remoto
- Il login che eseguo mi restituisce un Cookie Valido e corretto che riesco ad utilizzare
- Faccio una seconda chiamata al server per ricevere un file XML che ricevo correttamente, in questa chiamata gli passo (sfruttando Snoopy class) anche il COOKIE ottenuto
- In questo PRIMO File XML che ricevo ho una Session ID (un codice numerico lungo 21) che riesco a leggere dal File XML
------------------------------------
e fino a questo punto nessun problema
Il cookie è valido e pure il Session ID è valido
------------------------------------
- Faccio una TERZA chiamata al server Remoto per ricevere un altro file XML, in questa chiamata devo passargli in GET la Session ID ottenuta, e il COOKIE nel HEADER della chiamata
Questa chiamata fallisce puntualmente anche se Sessio id e cookie sono corretti... credo però di non passarli correttamente
questo il codice di questa chiamata
Credo che sia un problema sul passaggio del cookiecodice:$snoopy = new Snoopy; $snoopy->proxy_port = "8080"; $snoopy->agent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)"; $snoopy->referer = "http://referer"]; $snoopy->cookies["login"] = "valore del mio COOKE" $snoopy->rawheaders["Pragma"] = "no-cache"; $snoopy->maxredirs = 2; $snoopy->offsiteok = false; $snoopy->expandlinks = false; if($snoopy->fetch("http://SERVERREMOTO/FILE.xml?SESSION=MIO CODICE DI SESSIONE")){ print "response code: ".$snoopy->response_code."<br/>\n"; print "<b>Headers:</b><br/>"; if($snoopy->headers){ while(list($key,$val) = each($snoopy->headers)){ print $key.": ".$val."<br/>\n"; } }else{ print "Error while fetching document: ".$snoopy->error."\n"; } print "<br/>\n"; $MyXml = ($snoopy->results); } else { print "Error while fetching document: ".$snoopy->error."\n"; } return $MyXml;
chi mi può dare qualche indizio ?