Java tutorial
import java.io.BufferedReader; import java.io.DataInputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.io.OutputStreamWriter; import java.io.PrintStream; import java.io.PrintWriter; import java.net.InetAddress; import java.net.Socket; import java.net.UnknownHostException; public class GetWebPage { public static void main(String args[]) throws IOException, UnknownHostException { String resource, host, file; int slashPos; resource = "http://www.java2s.com/index.htm".substring(7); // skip HTTP:// slashPos = resource.indexOf('/'); if (slashPos < 0) { resource = resource + "/"; slashPos = resource.indexOf('/'); } file = resource.substring(slashPos); // isolate host and file parts host = resource.substring(0, slashPos); System.out.println("Host to contact: '" + host + "'"); System.out.println("File to fetch : '" + file + "'"); MyHTTPConnection webConnection = new MyHTTPConnection(host); if (webConnection != null) { BufferedReader in = webConnection.get(file); String line; while ((line = in.readLine()) != null) { // read until EOF System.out.println(line); } } System.out.println("\nDone."); } static class MyHTTPConnection { public final static int HTTP_PORT = 80; InetAddress wwwHost; DataInputStream dataInputStream; PrintStream outputStream; public MyHTTPConnection(String host) throws UnknownHostException { wwwHost = InetAddress.getByName(host); System.out.println("WWW host = " + wwwHost); } public BufferedReader get(String file) throws IOException { Socket httpPipe; InputStream in; OutputStream out; BufferedReader bufReader; PrintWriter printWinter; httpPipe = new Socket(wwwHost, HTTP_PORT); if (httpPipe == null) { return null; } // get raw streams in = httpPipe.getInputStream(); out = httpPipe.getOutputStream(); // turn into useful ones bufReader = new BufferedReader(new InputStreamReader(in)); printWinter = new PrintWriter(new OutputStreamWriter(out), true); if (in == null || out == null || bufReader == null || printWinter == null) { System.out.println("Failed to open streams to socket."); return null; } // send GET request System.out.println("GET " + file + " HTTP/1.0\n"); printWinter.println("GET " + file + " HTTP/1.0\n"); // read response until blank separator line String response; while ((response = bufReader.readLine()).length() > 0) { System.out.println(response); } return bufReader; } } }