| Conoscere indirizzo IP con PHP e Java |
| Programmazione & Co. |
| Lunedì 08 Novembre 2010 11:26 |
|
In questa guida voglio mostrare come scoprire l'indirizzo IP usando sia PHP che Java. PHP Cominciamo col PHP. Con questo linguaggio è molto semplice scoprire il vostro indirizzo IP; basta creare una pagina php e metterla su uno spazio che è in grado di interpretarlo. Potrebbe essere il vostro spazio web, o un server apache creato ad hoc a casa vostra:
In sostanza basta STAMPARE IL CONTENUTO $_SERVER['REMOTE_ADDR']. L'array superglobale $_SERVER accetta molti argomenti interessanti, tra i quali REMOTE_ADDR che legge l'IP della macchina che richiede la pagina. Per una lista completa degli argomenti accettati da $_SERVER potete guardare qua. JAVA Java deve interagire con la pagina PHP per poter funzionare. Per prima cosa quindi modifichiamo la pagina così:
In pratica abbiamo aggiunto un tag php a inizio pagina. Questa parte di codice serve solo a Java; se guardate infatti è una replica in PHP della parte sotto. Ci sono due if; se questi sono soddisfatti il codice manda una richiesta alla pagina tramite la funzione header. Dopo di che stampa $_SERVER['REMOTE_ADDR'] (come prima); questo echo verrà letto da Java che stamperà a video l'indirizzo. Vediamo il codice Java:
Il metodo getYourIP ha alcuni oggetti e classi interessanti. Prima di tutto creiamo un oggetto URL che serve per richiamare la pagina in php. Come vedete gli viene passata una variabile in GET; questo server per dialogare con lo script PHP: mode=ip deve essere uguale a ($_GET['mode'] == "ip"). URLConnection server per aprire una connessione con l'oggetto URL; come vedete viene usato il metodo openConnection(). InputStream è la classe base di tutti gli input stream, ed è usato per leggere flussi di input, flussi di byte e array di flussi di byte. InputStreamReader possiamo considerarlo un ponte tra stream di byte e stram di caratteri: legge i byte e li "trasforma" in caratteri usando il charset specificato. BufferedReader serve invece per leggere il testo dal character-input stream. Di questa classe usiamo il metodo readLine(), che serve per leggere una linea di testo. Si considera un linea di testo quella che termina con \n\r o \r\n. Ecco perchè la riga dello script PHP è così:
Nel metodo main viene creato un nuovo oggetto getYourIP e viene stampto il suo contenuto in JOptionPane.showMessageDialog.
Vi consiglio le lettura delle varie classi e metodi utilizzati: java.net e java.io. |
| Ultimo aggiornamento Domenica 23 Ottobre 2011 10:57 |


