import java.io.IOException;
import java.net.UnknownHostException;
import java.net.InetSocketAddress;
import java.nio.ByteBuffer;
import java.nio.CharBuffer;
import java.nio.channels.SocketChannel;
import java.nio.charset.Charset;
import java.nio.charset.CharsetDecoder;
import java.nio.charset.CharsetEncoder;
public class ReadURL {
public static void main(String args[]) { String host = args[
0];
int port = Integer.parseInt(args[
1]); SocketChannel channel =
null;
try { InetSocketAddress socketAddress =
new InetSocketAddress(host, port); Charset charset = Charset.forName(
"UTF-8"); CharsetDecoder decoder = charset.newDecoder(); CharsetEncoder encoder = charset.newEncoder(); ByteBuffer buffer = ByteBuffer.allocateDirect(
1024); CharBuffer charBuffer = CharBuffer.allocate(
1024); channel = SocketChannel.open(); channel.connect(socketAddress); String request =
"GET / /r/n/r/n"; channel.write(encoder.encode(CharBuffer.wrap(request)));
while ((channel.read(buffer)) != -
1) { buffer.flip(); decoder.decode(buffer, charBuffer,
false); charBuffer.flip(); System.out.println(charBuffer); buffer.clear(); charBuffer.clear(); } }
catch (UnknownHostException e) { System.err.println(e); }
catch (IOException e) { System.err.println(e); }
finally {
if (channel !=
null) {
try { channel.close(); }
catch (IOException ignored) { } } } }}