Originariamente inviato da simo22
E' possibbile farlo in automatico anche con un semplicissimo file_get_contents.
Però, il procedimento è un po' lungo e laborioso.
Per prima cosa ti serve capire cosa succede dopo che fai il login. Un sito che abbia un login interno può "vedere" se un utente è collegato in 3 metodi.
1- Il sito conserva un singolo cookie, il sessionId (può trovarsi in nomi diversi).
2- Il sito non conserva il sessionId su cookie ma lo aggiunge come campo GET alla fine di ogni indirizzo.
3- Il sito conserva più cookie (possibilmente criptati) con tutto quello che serve per autenticarsi.
Seconda cosa devi vedere come funziona il login. Se usa GET o POST per il passaggio dati. Devi accertarti se usa dei campi hidden o roba del genere. Basta andare a guardare l'html relativo alla pagina.
Ora non ti resta che scrivere il codice. Ti serviranno le seguenti funzioni:
-
get_headers
-
stream_context_set_default
-
stream_context_create (uguale alla precedente ma ti servirà per il file_get_contents)
-
file_get_contents
Come fare?
Per prima cosa ti serve fare il login.
Usi la funzione get_headers con l'url che punta all'action del form del login. Questa funzione usa il "default stream context". Ti serve modificarlo in modo che nella richiesta invii pure le variabili GET/POST. La guida di php lo spiega abbastanza chiaramente.
Una volta ottenuti gli header (devi mettere nel secondo parametro 1 per avere l'array scritto in modo corretto) puoi ottenere i cookie. Questi saranno una stringa (o un array nel caso di più cookie) dentro $headers["Set-Cookie"].
Ora li devi formattare in modo corretto, un semplice serie di implode,explode,foreach può andare più che bene. Una volta ottenuti crei un stream context mettendo i cookie che hai appena ottenuto. Per farlo c'è il stream_context_create.
Ora puoi usare il file_get_contents. Metti come terzo parametro il tuo context.
Ecco la tua pagina
Da come hai visto non è semplicissimo. Ma neache troppo difficile. Per un programmatore che abbia un minimo di conoscenze sul php basta un'oretta. La cosa fondamentale è leggere bene la documentazione su queste 4 funzioni, che alla fine non sono poi così difficili.
Buona fortuna,