import java.io.*; import java.net.*; public class MyFirstSocket { String host; Integer port; Socket sock; BufferedReader reader; PrintStream outp; public MyFirstSocket(String host_,Integer port_) { this.host = host_; this.port = port_; } private void creazioneSocket() { try { this.sock = new Socket(this.host,this.port); this.reader = new BufferedReader(new InputStreamReader(this.sock.getInputStream())); this.outp = new PrintStream(this.sock.getOutputStream()); } catch(Exception e) { System.err.println(e.toString()); } } private void closeSocket() { try { this.sock.close(); } catch(Exception e) { e.printStackTrace(); } } private String scriviSullaSocket(String s) { String ret = ""; this.outp.print(s); this.outp.flush(); try { while(!ret.contains("")) { ret += this.reader.readLine() + "\n"; } } catch(Exception e) { e.printStackTrace(); } return ret; } public static void main(String[] args) { String request = ""; String response = ""; /* INSTANZIO L'OGGETTO MyFirstSocket CON I PARAMETRI HOST=localhost E PORT=80 */ MyFirstSocket s = new MyFirstSocket("localhost",80); /* UTILIZZO IL METODO creazioneSocket() PER INSTANZIARE LA SOCKET */ s.creazioneSocket(); /* INIZIALIZZO REQUEST OPPORTUNAMENTE PER UNA RICHIESTA HTTP */ request = "GET / HTTP/1.1" + (char)13 + (char)10; request += "Host: " + s.host + (char)13 + (char)10; request += "\r\n"; /* UTILIZZO IL METODO scriviSullaSocket() CON PARAMETRO REQUEST=alla mia richiesta http */ response = s.scriviSullaSocket(request); s.closeSocket(); /* STAMPO L'OUTPUT */ System.out.println("RICHIESTA:"); System.out.print(request); System.out.println("RISPOSTA:"); System.out.println(response); } }