Java tutorial
import java.io.DataInputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.io.PrintStream; import java.net.InetAddress; import java.net.Socket; import java.net.URL; import java.net.UnknownHostException; class Main { public String downloadWWWPage(URL pageURL) throws Exception { String host, file; host = pageURL.getHost(); file = pageURL.getFile(); InputStream pageStream = getWWWPageStream(host, file); if (pageStream == null) { return ""; } DataInputStream in = new DataInputStream(pageStream); StringBuffer pageBuffer = new StringBuffer(); String line; while ((line = in.readUTF()) != null) { pageBuffer.append(line); } in.close(); return pageBuffer.toString(); } public InputStream getWWWPageStream(String host, String file) throws IOException, UnknownHostException { InetAddress webServer = InetAddress.getByName(host); Socket httpPipe = new Socket(webServer, 80); if (httpPipe == null) { System.out.println("Socket to Web server creation failed."); return null; } InputStream inn = httpPipe.getInputStream(); // get raw streams OutputStream outt = httpPipe.getOutputStream(); DataInputStream in = new DataInputStream(inn); // turn into higher-level ones PrintStream out = new PrintStream(outt); if (inn == null || outt == null) { System.out.println("Failed to open streams to socket."); return null; } out.println("GET " + file + " HTTP/1.0\n"); String response; while ((response = in.readUTF()).length() > 0) { System.out.println(response); } return in; } }