Cấp bậc tác giả:

JAVA

Tutorial Java URL(Xử lý URL)

Được viết bởi QuangIT ngày 20/09/2012 lúc 04:18 PM
URL viết tắt của Uniform Resource Locator và đại diện cho một nguồn tài nguyên trên World Wide Web, chẳng hạn như một trang web hoặc thư mục FTP.
  • 0
  • 16767

Tutorial Java URL(Xử lý URL)

URL viết tắt của Uniform Resource Locator và đại diện cho một nguồn tài nguyên trên World Wide Web, chẳng hạn như một trang web hoặc thư mục FTP.


Tên bài viết: Tutorial Java URL(Xử lý URL)

Tác giả: Quang IT

Cấp độ bài viết: Chưa đánh giá

Tóm tắt:

Phần này cho bạn thấy làm thế nào để viết các chương trình Java giao tiếp với một URL. URL có thể được chia nhỏ thành các phần như sau:

protocol://host:port/path?query#ref

Ví dụ các giao thức HTTP, HTTPS, FTP, File. Phần này cũng được gọi là tên tập tin, và máy chủ cũng được gọi là authority(cấp quyền).

Sau đây là một URL cho một trang web có giao thức là HTTP:

http://dotnet.dngaz.com

Chú ý rằng URL không chỉ định một cổng, trong trường hợp các cổng mặc định cho giao thức được sử dụng. Với HTTP, cổng mặc định là 80.

Phương thức Class URL

Lớp java.net.URL đại diện cho URL và có bộ hoàn chỉnh các phương thức để thao tác URL trong Java.

Lớp URL có vài constructor để tạo ra các URL, bao gồm:

1. public URL(String protocol, String host, int port, String file) throws MalformedURLException.

Tạo ra một URL bằng cách ghép các phần nhất định.

2. public URL(String protocol, String host, String file) throws MalformedURLException

Giống hệt các constructor  trước đó, ngoại trừ cổng mặc định cho giao thức được sử dụng.

3. public URL(String url) throws MalformedURLException

Tạo ra một URL từ String nhất định

4. public URL(URL context, String url) throws MalformedURLException

Tạo ra một URL bằng cách phân tích cùng các URL và các đối số chuỗi

Các lớp URL có chứa nhiều phương thức để truy cập vào các phần khác nhau của URL. Một số phương thức trong lớp URL:

1. public String getPath()

Trả về đường dẫn URL.

2. public String getQuery()

Trả về phần truy vấn của URL.

3. public String getAuthority()

Trả về quyền của URL

4. public int getPort()

Trả về cổng của URL.

5. public int getDefaultPort()

Trả về cổng mặc định cho giao thức của URL.

6. public String getProtocol()

Trả về giao thức của URL.

7. public String getHost()

Trả về máy chủ của URL.

8. public String getFile()

Trả về tên tập tin của URL.

9. public String getRef()

Trả về tham chiếu một phần của URL.

10. public URLConnection openConnection() throws IOException

Mở một kết nối vào URL, cho phép máy khách giao tiếp với nguồn tài nguyên.


Ví dụ:

Chương trình URLDemo sau đây thể hiện các phần khác nhau của một URL. URL được nhập trên dòng lệnh, và chương trình URLDemo đưa ra kết quả từng phần của URL.


// File Name : URLDemo.java


import java.net.*;

import java.io.*;


public class URLDemo

{

   public static void main(String [] args)

   {

      try

      {

         URL url = new URL("http://dotnet.dngaz.com");

         System.out.println("URL is " + url.toString());

         System.out.println("protocol is "

                                    + url.getProtocol());

         System.out.println("authority is "

                                    + url.getAuthority());

         System.out.println("file name is " + url.getFile());

         System.out.println("host is " + url.getHost());

         System.out.println("path is " + url.getPath());

         System.out.println("port is " + url.getPort());

         System.out.println("default port is "

                                   + url.getDefaultPort());

         System.out.println("query is " + url.getQuery());

         System.out.println("ref is " + url.getRef());

      }catch(IOException e)

      {

         e.printStackTrace();

      }

   }

}


Hiển thị kết quả:

Phương thức Class URLConnections

OpenConnection () trả về một java.net.URLConnection, lớp trừu tượng mà lớp con đại diện cho các loại khác nhau của kết nối URL.

Ví dụ:

    Nếu bạn kết nối đến một URL có giao thức là HTTP, các openConnection () trả về một đối tượng HttpURLConnection.

    Nếu bạn kết nối đến một URL đại diện cho một tập tin JAR, openConnection () trả về một đối tượng JarURLConnection.

    vv ..

Lớp URLConnection có nhiều phương thứcđể thiết lập hoặc xác định thông tin về kết nối, bao gồm:

1. Object getContent()

Lấy nội dung của kết nối URL.

2. Object getContent(Class[] classes)

Lấy nội dung của kết nối URL.

3. String getContentEncoding()

Returns the value of the content-encoding header field.

4. int getContentLength()

Returns the value of the content-length header field.

5. String getContentType()

Returns the value of the content-type header field.

6. int getLastModified()

Returns the value of the last-modified header field.

7. long getExpiration()

Returns the value of the expires header field.

8. long getIfModifiedSince()

Returns the value of this object's ifModifiedSince field.

9. public void setDoInput(boolean input)

Passes in true to denote that the connection will be used for input. The default value is true because clients typically read from a URLConnection.

10. public void setDoOutput(boolean output)

Passes in true to denote that the connection will be used for output. The default value is false because many types of URLs do not support being written to.

11. public InputStream getInputStream() throws IOException

Returns the input stream of the URL connection for reading from the resource.

12. public OutputStream getOutputStream() throws IOException

Returns the output stream of the URL connection for writing to the resource

13. public URL getURL()

Returns the URL that this URLConnection object is connected to


Ví dụ:

Chương trình URLConnectionDemo sau kết nối đến một URL được nhập từ dòng lệnh.


// File Name : URLConnDemo.java


import java.net.*;

import java.util.Scanner;

import java.io.*;

public class URLConnDemo

{

   public static void main(String [] args)

   {

      try

      {

         Scanner input =new Scanner(System.in);

         String s=input.nextLine();

         URL url = new URL(s);

         URLConnection urlConnection = url.openConnection();

         HttpURLConnection connection = null;

         if(urlConnection instanceof HttpURLConnection)

         {

            connection = (HttpURLConnection) urlConnection;

         }

         else

         {

            System.out.println("Please enter an HTTP URL.");

            return;

         }

         BufferedReader in = new BufferedReader(

         new InputStreamReader(connection.getInputStream()));

         String urlString = "";

         String current;

         while((current = in.readLine()) != null)

         {

            urlString += current;

         }

         System.out.println(urlString);

      }catch(IOException e)

      {

         e.printStackTrace();

      }

   }

}


Hiển thị kết quả:

Nguồn bài viết: Dngaz.com

BÌNH LUẬN BÀI VIẾT

Bài viết mới nhất

LIKE BOX

Bài viết được xem nhiều nhất

HỌC HTML