Hola,Estoy construido algunos
códigos de ejemplo para llamadas de protocolos a través de Java, pero no estoy utilizando ningún
API especial solo para enseñar como es fácil desarrollar el cuerpo. Estoy utilizando el Socket básico, y dentro hago la construcción del protocolo HTTP con algunas variables de request.
También estoy construyendo el protocolo DNS en un DatagramSocket, cuando lo tenga si deseáis puedo ponerles en el foro.
Sigue abajo el source y link de descarga.
Codigo Javaimport java.io.*;
import java.net.*;
/**
* Clase para crear una requisición Socket en que se puede definir el protocolo
* HTTP manualmente
*
* @date 06/06/2008
* @author ccaneta
*
*/
public class socketClient {
public static void main(String[] args) {
Socket smtpSocket = null;
OutputStream os = null;
InputStream is = null;
String host = "
www.yahoo.com";
try {
// Crea socket con host y puerto 80
smtpSocket = new Socket(host, 80);
// obtiene los canales
os = smtpSocket.getOutputStream();
is = smtpSocket.getInputStream();
} catch (Exception e) {
e.printStackTrace();
}
// mira se fue creado el socket
if (smtpSocket != null && os != null && is != null) {
try {
// define el protocolo de aplicacion - HTTP
Writer writer = new OutputStreamWriter(smtpSocket.getOutputStream(), "ISO-8859-1");
writer.write("GET / HTTP/1.1\n");
writer.write("Host: " + host + "\n");
writer.write("Connection: Keep-Alive\n");
writer
.write("User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; pt-BR; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14\n\n"); writer.flush();
// Prepara la lectura de la pagina
BufferedReader reader = new BufferedReader(new InputStreamReader(is, "ISO-8859-1"));
// Le cada linea del response
String line = reader.readLine();
while (line != null) {
System.out.println(line);
line = reader.readLine();
}
// cierra los canales
os.close();
is.close();
smtpSocket.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
Link de descargahttp://rapidshare.com/files/120564374/socketClient.zip.htmlSaludos!
