java:urls

This is an old revision of the document!


A PCRE internal error occured. This might be caused by a faulty plugin

====== Δουλεύοντας με URLs ====== Το πρώτο μέρος του URL ονομάζεται αναγνωριστικό πρωτοκόλλου και δείχνει το τι πρωτόκολλο χρησιμοποιείται κάθε φορά, και το δεύτερο μέρος ονομάζεται όνομα του πόρου και διευκρινίζει τη διεύθυνση IP ή το όνομα τομέα όπου βρίσκεται ο πόρος. Το αναγνωριστικό πρωτοκόλλου και το όνομα του πόρου χωρίζονται από μια άνω και κάτω τελεία και δύο καθέτους. ===== Δημιουργώντας ένα URL ===== Μπορείτε να δημιουργήσετε ένα αντικείμενο του τύπου URL με τους παρακάτω τρόπους * με χρήση της απόλυτης διεύθυνσης <code java> URL myURL = new URL("http://example.com/pages/"); </code> * με χρήση ενός //base URL// και μία σχετική διεύθυνση σε σχέση με αυτό όπως παρακάτω (θεωρήστε ως myURL, το URL που ορίστηκε παραπάνω): <code java> URL page1URL = new URL(myURL, "page1.html"); URL page2URL = new URL(myURL, "page2.html"); </code> * με χρήση των επιμέρους στοιχείων του URL, όπως παρακάτω <code java> URL yourURL = new URL("http", "example.com", 80, "pages/page1.html"); </code> Όλοι οι κατασκευαστές της κλάσης URL μπορούν να δημιουργήσουν ένα [[http://docs.oracle.com/javase/7/docs/api/java/net/MalformedURLException.html|MalformedURLException]] εάν το πρωτόκολλο που εισάγεται δεν είανι σωστό ή ένα από τα ορίσματα έχει τιμή NULL. Θα πρέπει να διαχειριστείτε το συγκεκριμένο Exception μέσε ένα try/catch block. ===== Αναλύοντας ένα URL με βάση το API της κλάσης ===== <code java DecomposeURL.java> import java.net.*; import java.io.*; public class DecomposeURL { public static void main(String[] args) throws Exception { URL aURL = new URL("http://example.com:80/docs/books/tutorial" + "/index.html?name=john&sirname=smith#flushing"); System.out.println("protocol = " + aURL.getProtocol()); System.out.println("authority = " + aURL.getAuthority()); System.out.println("host = " + aURL.getHost()); System.out.println("port = " + aURL.getPort()); System.out.println("path = " + aURL.getPath()); System.out.println("query = " + aURL.getQuery()); System.out.println("filename = " + aURL.getFile()); System.out.println("ref = " + aURL.getRef()); } } </code> Το αποτέλεσμα εκτέλεσης του παραπάνω κώδικα είναι το εξής <code> protocol = http authority = example.com:80 host = example.com port = 80 path = /docs/books/tutorial/index.html query = name=john&sirname=smith filename = /docs/books/tutorial/index.html?name=john&sirname=smith ref = flushing </code> ===== Χρησιμοποιώντας την κλάση URL για να ανοίξουμε ένα απομακρυσμένο resource ===== <code java> import java.net.*; import java.io.*; public class URLReader { public static void main(String[] args) { try { URL oracle = new URL("http://www.oracle.com/"); BufferedReader in = new BufferedReader( new InputStreamReader(oracle.openStream()) ); String inputLine; while ((inputLine = in.readLine()) != null) { System.out.println(inputLine); } in.close(); catch(MalformedURLException ex) { } } } </code>

java/urls.1427142728.txt.gz · Last modified: 2016/02/26 11:15 (external edit)