Newsgroup: it.comp.www.php
Titolo: fsockopen()

Ciao a tutti.
Ho visto che l'argomento è già stato trattato ma non risolvo.
Ho un sito che ha la necessita di autenticarsi in modo trasparente ad un 
altro server per poter poi, sempre in background, accedere ad altre pagine 
da dove trarre dei dati e visualizzarne una parte all'utente.
Fino ad ora sono riuscito semplicemente a riprodurre il form di accesso al 
server (analizzando il suo codice html), nasconderlo nelle mie pagine e 
nell'evento ONLOAD inviarlo al server...
ottengo l'autenticazione (che prevede la creazione di un cookie sulla 
macchina) ma il problema è che si visualizza la pagina chiamata mentre non 
dovrebbe comparire.
Se la chiudo (il cookie rimane attivo per circa 10 minuti) posso procedere 
con il download delle pagine-dati e gestirle tranquillamente tramite php 
restituendo all'utente la parte interessata.
Ho trovato numerosi codici di esempio con fsockopen() che si collegano al 
server ma la connessione si chiude senza la creazione del cookie.
Se sono riuscito a spiegarmi avete qualche link o tutorial da propormi per 
venirne fuori?
Inoltre, sapete come posso fare per intercettare la stringa POST inviata dal 
mio form (che genera l'accesso corretto) per confrontarla con quella che 
invio con fsockopen()?
Grazie
Valter

 all'utente.
Hai provato ad utilizzare Snoopy oppure cURL? 
E' inutile tentare di re-inventare la ruota (es. post form, gestione
cookie, etc.) ogni volta.
-- 
Vuoi distribuire il tuo sito web su CD/DVD?
Prova 
http://www.dwebpro.com/
Vuoi diventare un esperto analista PHP/MySQL?
Vieni a fare uno stage con noi: 
http://www.creativepark.it/stage/

 cookie, etc.) ogni volta.
Grazie per la rapida risposta.
Correggimi se sbaglio ma mi pare che Snoopy non esista per piattaforma 
Windows (almeno non l'ho trovato) e per quanto riguarda cURL la libreria non 
è caricata sul mio server
:-(
Parti dal presupposto che non sono ferratissimo in materia - provengo dal 
mondo Delphi - non è possibile caricare la libreria con una sorta di 
INI_SET, dico bene? Dunque anche cURL è offline per me?
Se disgraziatamente fosse così - ho verificato che la funzione fsockopen() è 
abilitata sul server - mi toccherebbe proprio tornare su di lei se non hai 
altri suggerimenti...
in questo caso hai qualche esempio / link?
Grazie
Valter

Avrei trovato un'altro sistema che potrebbe funzionare ma non mi è 
chiarissima la sua esecuzione...
da codice php:
con fsockopen() mi collego al server inviando i parametri di accesso
questo mi risponde segnalandomi i dati per la creazione del cookie
(posso leggere in chiaro tale risposta)
immagino che a questo punto aspetti conferma della presenza del cookie e non 
essendoci chiude la connessione
ma se io, intercettando la richiesta di creazione cookie, simulassi il 
browser rispondendo che il cookie è presente?
Se fosse un'idea fattibile sai da dove potrei cominciare?
Grazie di nuovo
Valter

 bene? Dunque anche cURL h offline per me?
Puoi provare con 
http://www.php.net/dl
 oppure chiedere al fornitore di
installarla.


 potrei cominciare?  Grazie di nuovo
Scaricati Snoopy od una libreria equivalente che implementi gia' la
gestione dei cookie e studiati la documentazione.
In alternativa, studiati gli RFC sul protocollo HTTP per capire come
fare a dialogare il un web server ed re-implementa il protocollo con
fsockopen.



(scusami, mi è scappato l'invio direttamente alla tua mail)
effettivamente c'ero dietro in questo momento...
ho proprio idea che sia perfetto per il mio caso, mi restituisce la pagina
in testo e me la posso gestire come voglio
ma tutto ok con pagine sprotette, il problema è sempre sto benedetto cookie
di autenticazione che non si attiva
visto che ci sei dietro ti assillo ancora un attimo per qualcosa che forse
per te è una banalità
utilizzando la funzione FETCH cambio i nomi dei parametri USER e PASS
rispettivamente in USERID e PASSW come il server si aspetta di ricevere ed
aggiungo un terzo parametro che in realtà è hidden...il tutto come da form
del server che interrogo...
la risposta è che il cookie non è stato trovato e quindi non ho diritto
d'accesso...
ma la funzione di creazione del cookie la devo richiamare io o già la
funzione FETCH si occupa di gestirlo?
insomma, tu come faresti?
Grazie
Valter

 diritto d'accesso...
Richiama prima la pagina del server che imposta il cookie, analizza la
proprieta' headers dell'oggetto Snoopy, estrai il cookie che ti
interessa, inseriscilo nella proprieta' cookies dell'oggetto Snoopy e
poi fai il submit della form.


Ho risolto, mi sei stato di grande aiuto e ti ringrazio.
Ho un'altro piccolo intoppo da risolvere ma adesso mi è abbastanza chiara 
tutta la "struttura" e studiandoci un pò ne verrò sicuramente a 
capo...spero..  :-)
Ciao
Valter