การประมวลผล URL Java
URL (Uniform Resource Locator) ภาษาจีนเรียกว่า Uniform Resource Locator มันเป็นบางครั้งเรียกได้ว่าเป็นที่อยู่หน้าเว็บ เขาแสดงความเป็นทรัพยากรบนอินเทอร์เน็ตเช่นเว็บหรือ FTP อยู่
ในบทนี้เราจะมาแนะนำ Java จะถือว่าเป็น URL URL สามารถแบ่งออกเป็นส่วนต่อไปนี้
protocol://host:port/path?query#ref
โปรโตคอล (Protocol) สามารถเป็น HTTP, HTTPS, FTP, และไฟล์ พอร์ตหมายเลขพอร์ต เส้นทางสำหรับเส้นทางของไฟล์และชื่อไฟล์
ตัวอย่าง URL โปรโตคอล HTTP ดังนี้
http://www.w3cschool.cc/index.html?language=cn#j2se
ตัวอย่างของ URL ด้านบนไม่ได้ระบุพอร์ตเพราะโปรโตคอลหมายเลขพอร์ตเริ่มต้น HTTP เป็น 80
วิธีการเรียน URL
ในแพคเกจ java.net กำหนดระดับ URL ที่ใช้ในการจัดการกับเนื้อหาที่เกี่ยวข้องไปยัง URL การสร้างและใช้ระดับของ URL ต่อไปนี้จะถูกนำมาใช้
java.net.URL มีวิธีการสร้าง URL มากมายและสามารถเข้าถึงทรัพยากรผ่าน java.net.URL
เลขที่ | วิธีการรายละเอียด |
---|---|
1 | URL สาธารณะ (String โปรโตคอลโฮสต์ String , int พอร์ตไฟล์ String) พ่น MalformedURLException สร้าง URL ที่มีพารามิเตอร์ที่กำหนด (โปรโตคอลชื่อโฮสต์หมายเลขพอร์ตชื่อไฟล์) |
2 | URL สาธารณะ (String โปรโตคอลโฮสต์ String ไฟล์ String) พ่น MalformedURLException โดยใช้โปรโตคอลที่ระบุชื่อโฮสต์ไฟล์ URL ที่สร้างชื่อพอร์ตเริ่มต้นโปรโตคอลพอร์ต |
3 | URL สาธารณะ (String URL) พ่น MalformedURLException สร้าง String URL ที่ตาม URL ที่กำหนด |
4 | URL สาธารณะ (บริบท URL สตริง URL ) พ่น MalformedURLException ใช้ที่อยู่ฐานและสร้าง URL ที่เกี่ยวข้อง |
ระดับ URL มีหลายวิธีในการเข้าถึงส่วนต่างๆของ URL, วิธีการที่เฉพาะเจาะจงและอธิบายดังนี้
เลขที่ | วิธีการรายละเอียด |
---|---|
1 | String สาธารณะ getPath () ผลตอบแทนส่วนเส้นทาง URL |
2 | String สาธารณะ getQuery () ผลตอบแทนที่ได้เป็นส่วนหนึ่งการสืบค้น URL |
3 | String สาธารณะ getAuthority () ได้รับส่วนอำนาจของ URL นี้ |
4 | int สาธารณะ getPort () ผลตอบแทนส่วนพอร์ต URL |
5 | int สาธารณะ getDefaultPort () ส่งกลับจำนวนพอร์ตเริ่มต้นสำหรับโปรโตคอล |
6 | String สาธารณะ getProtocol () ผลตอบแทนที่ได้โปรโตคอลของ URL |
7 | String สาธารณะ gethost () ส่งกลับ URL ของโฮสต์ |
8 | String สาธารณะ getFile () ส่งกลับ URL ของชื่อไฟล์ |
9 | String สาธารณะ getRef () เป็นที่ยึดเหนี่ยวของ URL นี้ (เรียกว่า "อ้างอิง") |
10 | ประชาชน URLConnection openConnection () พ่น IOException เปิดการเชื่อมต่อ URL และเรียกลูกค้าในการเข้าถึงทรัพยากร |
ตัวอย่าง
ตัวอย่างข้างต้นแสดงให้เห็นถึงการใช้งานของระดับ URL java.net ที่จะได้รับส่วนต่าง ๆ ของพารามิเตอร์ URL นี้:
// 文件名 : URLDemo.java import java.net.*; import java.io.*; public class URLDemo { public static void main(String [] args) { try { URL url = new URL("../../www.w3cschool.cc/index.html-language=cn#j2se.html"); 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(); } } }
ตัวอย่างข้างต้นรวบรวมผลมีดังนี้
URL is http://www.w3cschool.cc/index.html?language=cn#j2se protocol is http authority is www.w3cschool.cc file name is /index.htm?language=cn host is www.amrood.com path is /index.html port is -1 default port is 80 query is language=cn ref is j2se
วิธีการเรียน URLConnections
openConnection () ผลตอบแทน java.net.URLConnection
ตัวอย่างเช่น:
URL หากคุณเชื่อมต่อโปรโตคอล HTTP, openConnection () วิธีการส่งกลับวัตถุ HttpURLConnection
หาก URL ที่คุณเชื่อมต่อกับไฟล์ขวด openConnection () วิธีการส่งกลับวัตถุ JarURLConnection
และอื่น ๆ ...
วิธีการ URLConnection ระบุไว้ด้านล่าง:
เลขที่ | วิธีการรายละเอียด |
---|---|
1 | วัตถุ getContent () ลิงก์ URL ดึงเนื้อหา |
2 | วัตถุ getContent (ชั้น [] ชั้นเรียน) ลิงก์ URL ดึงเนื้อหา |
3 | สตริง getContentEncoding () ผลตอบแทนที่เนื้อหาเข้ารหัสค่าฟิลด์ส่วนหัว |
4 | int getContentLength () กลับเนื้อหาความยาวค่าฟิลด์ส่วนหัว |
5 | สตริง getContentType () ผลตอบแทนที่ได้เนื้อหาประเภทค่าฟิลด์ส่วนหัว |
6 | int getLastModified () ส่งคืนค่าข้อมูลส่วนหัวที่แก้ไขล่าสุด |
7 | getExpiration ยาว () กลับหมดอายุค่าฟิลด์ส่วนหัว |
8 | getIfModifiedSince ยาว () IfModifiedSince กลับค่าของเขตข้อมูลวัตถุ |
9 | โมฆะสาธารณะ setDoInput (input บูลีน) การเชื่อมต่อ URL ที่สามารถนำมาใช้สำหรับการป้อนข้อมูลและ / หรือการส่งออก ถ้าคุณตั้งใจจะใช้การเชื่อมต่อ URL สำหรับการป้อนข้อมูลแล้วธง DoInput กำหนดเป็นจริงถ้าคุณไม่ได้ตั้งใจที่จะใช้ตั้งค่าเป็นเท็จ ค่าเริ่มต้นเป็นความจริง |
10 | โมฆะสาธารณะ setDoOutput (เอาท์พุทแบบบูล) การเชื่อมต่อ URL ที่สามารถนำมาใช้สำหรับการป้อนข้อมูลและ / หรือการส่งออก ถ้าคุณตั้งใจจะใช้การเชื่อมต่อ URL สำหรับการส่งออกแล้วธง DoOutput กำหนดเป็นจริงถ้าคุณไม่ได้ตั้งใจที่จะใช้ตั้งค่าเป็นเท็จ ค่าเริ่มต้นเป็นเท็จ |
11 | ประชาชน InputStream getInputStream () พ่น IOException ส่งกลับ URL สตรีมใส่สำหรับการอ่านทรัพยากร |
12 | ประชาชน OutputStream getOutputStream () พ่น IOException ส่งกลับ URL ของกระแส output สำหรับการเขียนทรัพยากร |
13 | URL สาธารณะ getURL () ส่งคืนวัตถุ URL URLConnection เชื่อมต่อ |
ตัวอย่าง
ตัวอย่างต่อไปนี้ใช้ URL โปรโตคอล HTTP openConnection กลับวัตถุ HttpURLConnection
// 文件名 : URLConnDemo.java import java.net.*; import java.io.*; public class URLConnDemo { public static void main(String [] args) { try { URL url = new URL("../../www.w3cschool.cc/index.html"); 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(); } } }
ตัวอย่างข้างต้นรวบรวมผลมีดังนี้
$ java URLConnDemo .....a complete HTML content of home page of amrood.com.....