En cours de rédaction...

Exemple [voir]
package nio;
import java.io.IOException;
import java.net.InetSocketAddress;
import java.net.UnknownHostException;
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 ClientHTTP {
  public static void main(String args[]) {
    String hote = "www.laltruiste.com";
    SocketChannel sc = null;
    try {
      Charset latin = Charset.forName("ISO-8859-1");
      CharsetDecoder decodeur = latin.newDecoder();
      CharsetEncoder encodeur = latin.newEncoder();

      ByteBuffer bb = ByteBuffer.allocateDirect(1024);
      CharBuffer cb = CharBuffer.allocate(1024);

      InetSocketAddress adresse = new InetSocketAddress(hote, 80);
      sc = SocketChannel.open();
      sc.connect(adresse);

      String request = 
          "POST /cgi-bin/htsearch HTTP/1.1\r\n" +
          "Host: " + hote + "\r\n" +
          "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; fr; rv:1.5) " 
                          + "Gecko/20031007 Firebird/0.7\r\n" +
          "Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,"
                    + "text/plain;q=0.8,video/x-mng,image/png,image/jpeg,"
                    + "image/gif;q=0.2,*/*;q=0.1\r\n" +
          "Accept-Language: fr,en;q=0.5\r\n" +
          "Accept-Encoding: gzip,deflate\r\n" +
          "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7\r\n" +
          "Keep-Alive: 300\r\n" +
          "Connection: keep-alive\r\n" +
          "Referer: http://www.laltruiste.com/accueil.php?compteur=1&evolution=5\r\n" +
          "Content-Type: application/x-www-form-urlencoded\r\n" +
          "Content-Length: 117\r\n\r\n" +
          "words=java&method=and&format=builtin-long&sort=score&choix=site" 
              + "&config=laltruiste_htdig&restrict=&exclude=&evolution=\r\n";

      sc.write(encodeur.encode(CharBuffer.wrap(request)));

      while ((sc.read(bb)) != -1) {
        bb.flip();
        decodeur.decode(bb, cb, false);
        cb.flip();
        System.out.println(cb);
        bb.clear();
        cb.clear();
      }
    }
    catch (UnknownHostException e) {
      e.printStackTrace();
    }
    catch (IOException e) {
      e.printStackTrace();
    }
    finally {
      if (sc != null) {
        try {
          sc.close();
        }
        catch (IOException e) {
          e.printStackTrace();
        }
      }
    }
  }
}