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 getwebpagedemo {
public static void main(string args[]) throws exception {
string resource, host, file;
int slashpos;
resource = "www.java2s.com/index.htm";
slashpos = resource.indexof('/'); // find host/file separator
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 + "'");
socketchannel channel = null;
try {
charset charset = charset.forname("iso-8859-1");
charsetdecoder decoder = charset.newdecoder();
charsetencoder encoder = charset.newencoder();
bytebuffer buffer = bytebuffer.allocatedirect(1024);
charbuffer charbuffer = charbuffer.allocate(1024);
inetsocketaddress socketaddress = new inetsocketaddress(host, 80);
channel = socketchannel.open();
channel.connect(socketaddress);
string request = "get " + file + " /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) {
}
}
}
system.out.println("/ndone.");
}
}
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 getwebpagedemo {
public static void main(string args[]) throws exception {
string resource, host, file;
int slashpos;
resource = "www.java2s.com/index.htm";
slashpos = resource.indexof('/'); // find host/file separator
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 + "'");
socketchannel channel = null;
try {
charset charset = charset.forname("iso-8859-1");
charsetdecoder decoder = charset.newdecoder();
charsetencoder encoder = charset.newencoder();
bytebuffer buffer = bytebuffer.allocatedirect(1024);
charbuffer charbuffer = charbuffer.allocate(1024);
inetsocketaddress socketaddress = new inetsocketaddress(host, 80);
channel = socketchannel.open();
channel.connect(socketaddress);
string request = "get " + file + " /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) {
}
}
}
system.out.println("/ndone.");
}
}
闽公网安备 35060202000074号