其中 POST 是請求的類型。每個客戶端 HTTP 請求可以是 HTTP 規范中指定的許多請求類型中的一種。HTTP 1.1 支持七種類型的請求,它們是 GET,POST,HEAD,OPTIONS,PUT,DELETE,TRACE。其中 GET 與 POST 是 Internet 應用中經常用到的二種請求類型。
URI 完整地指定了 Internet 資源。一個 URI 通常被解析為相對服務器的根目錄。這樣,它應該總是以一個 '/' 前綴開始。一個 URL 實際上是 URI 的一種類型。
以下代碼創建一個可以與本地 HTTP 服務器通信的 socket (127.0.0.1 表示一個本地的主機),發送一個 HTTP 請求,并接收從服務器的響應。它還創建一個 StringBuffer 對象來接受響應,并打印到控制臺。 Socket socket = new Socket("127.0.0.1", "8080"); OutputStream os = socket.getOutputStream(); boolean autoflush = true; PrintWriter out = new PrintWriter( socket.getOutputStream(), autoflush ); BufferedReader in = new BufferedReader( new InputStreamReader( socket.getInputStream() ));
// send an HTTP request to the web server out.println("GET /index.jsp HTTP/1.1"); out.println("Host: localhost:8080"); out.println("Connection: Close"); out.println();
// read the response boolean loop = true; StringBuffer sb = new StringBuffer(8096);
while (loop) { if ( in.ready() ) { int i=0; while (i!=-1) { i = in.read(); sb.append((char) i); } loop = false; } Thread.currentThread().sleep(50); }
// display the response to the out console System.out.println(sb.toString()); socket.close();