Pemrograman Jaringan Dengan Java (ExHTTPClient)
Contoh program aplikasi HTTP Client
yang akan menggunakan perintah HTTP untuk mengambil dokumen yang ada melalui
protokol HTTP
import
java.io.*;
import
java.net.*;
/**
* Contoh
aplikasi yang membuka koneksi ke web server
* local dan
membaca sebuah dokument darinya
*/
public
class ExHTTPClient{
public
static void main(String args[])
{
try
{
//Buka
koneksi client dengan socket
Socket
clientSocket = new Socket(args[0],80);
System.out.println("Client:"+
clientSocket);
//Panggil
method untuk mengambil dokumen
getHTML(clientSocket,args[1]);
}
catch(UnknownHostException
e)
{ System.out.println(e);}
catch(IOException
e)
{
System.err.println(e);}
}
/**
* Method
yang akan meminta sebuah dokumen ke web server.
* Tampilkan
hasil reply dari server dan tutup
*
koneksinya.
*/
public
static void getHTML(Socket clientSocket,
String fileName)
{
try
{
//
membentuk input dan output stream dari
// socket
yang terbentuk untuk pengiriman
// dan
penerimaan data
DataOutputStream
outbound = new DataOutputStream(
clientSocket.getOutputStream());
DataInputStream
inbound = new DataInputStream(
clientSocket.getInputStream());
//kirim
sebuah permintaan HTTP ke server
outbound.writeBytes("GET"
+ fileName +
"HTTP/1.0\r\n\r\n");
//membuat
respone dari HTTP
String
responseLine;
while((responseLine
= inbound.readLine())
!=null)
{
//tampilkan
setiap baris ke layar monitor
System.out.println(responseLine);
}
//Clean up
outbound.close();
inbound.close();
clientSocket.close();
}
catch
(IOException e)
{
System.out.println(e);}
}
}
HASIL PROGRAM :
Tool Output :
Tool completed successfully
Contoh
Output :
Client
:
Socket[addr=localhost/127.0.0.1,port=80,localport=1072]
HTTP/1.1
200 OK
Date
: Tue,20 Sep 2005 02:15:38 GMT
Server:
Apache/1.3.23 (Win32)
Last-Modified
: Tue, 05 Aug 2003 17:00:00 GMT
Etag
: “0-74d-3f2fe290”
Accept-Ranges
: bytes
Content-Length
: 1869
Connection
: close
Content-Type
: text/html
<html>
..... dan seterusnya
Dari program diatas kita sudah dapat
mengambil dokumen HTML seperti halnya pada telnet. Kelas Socket yang kita buat
menggunakan konstruktor new Socket(host,port).
Karena program ini bersifat
Connection Oriented maka kita menggunakan kelas DataOutputStream untuk menulis
data ke socket dan DataInputStream untuk membaca data dari socket. Pada contoh
diatas kita menggunakan methode GET.
Tidak ada komentar: