java:urls

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

java:urls [2015/03/24 08:26]
gthanos
java:urls [2016/02/26 11:15]
Line 1: Line 1:
-====== Δουλεύοντας με URLs ====== 
-Τα [[wp>​Uniform_resource_locator|URL]]s (Uniform Resource Locators), είναι διαδικτυακές διευθύνσεις οι οποίες προϋποθέτουν την ύπαρξη ενός πρωτοκόλλου στο επίπεδο της εφαρμογής το οποίο υλοποιείται πάνω από την [[http://​en.wikipedia.org/​wiki/​Internet_protocol_suite|TCP/​IP στοίβα]]. ​ 
-Κάθε URL έχει τα εξής χαρακτηριστικά. 
-  * **πρωτόκολλο:​** το είδος το πρωτοκόλλου που θα χρησιμοποιηθεί (π.χ. http, ftp κλπ) 
-  * **host name:** η IP διεύθυνση ή το Domain Name στο οποίο θα γίνει η σύνδεση. 
-  * **port:** η πόρτα στην οποία θα γίνει η σύνδεση. 
-  * **pathname:​** το τμήμα του URL μετά το hostname και πριν τις παραμέτρους 
-  * **parameters:​** οι παράμετροι του URL. 
-  * **ref:** (html specific) Μία αναφορά σε ένα συγκεκριμένο σημείο μέσα στο αρχείο html, η οποία παραπέμπει σε μία συγκεκριμένη θέση μέσα στο αρχείο. 
- 
-Με βάση τα παραπάνω το παρακάτω URL αναλύεται ως εξής 
-<​code>​ 
-http://​inf-server.inf.uth.gr:​8888/​courses/​CE325/​doku.php?​id=java:​urls&​priority=max#​writting_to_urls 
- 
-  * πρωτόκόλλο ​  ​-->​ '​http'​ 
-  * hostname ​    ​-->​ '​inf-server.inf.uth.gr'​ 
-  * port number ​ --> '​8888'​ 
-  * pathname ​    ​-->​ '/​courses/​CE325/​doku.php'​ 
-  * parameters ​  ​-->​ '​id=java:​urls&​priority=max'​ 
-  * reference ​   --> '​writting_to_urls'​ 
-</​code>​ 
- 
- 
- 
-===== Δημιουργώντας ένα 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 URLReader.java>​ 
-import java.net.*; 
-import java.io.*; 
- 
-public class URLReader { 
-  public static void main(String[] args) {    ​ 
-    URL url=null; 
-    try {    
-      url = new URL(args.length>​0 ? args[0] : "​http://​feeds.bbci.co.uk/​news/​rss.xml"​);​ 
-      BufferedReader in = new BufferedReader( 
-        new InputStreamReader(url.openStream()) ); 
- 
-      String inputLine; 
-      while ((inputLine = in.readLine()) != null) { 
-        System.out.println(inputLine);​ 
-      } 
-      in.close(); 
-    }  
-    catch(MalformedURLException ex) { 
-      System.out.println("​Malformed URL: +"+ args[0] ); 
-      ex.printStackTrace();​ 
-    } 
-    catch(IOException ex) { 
-      System.out.println("​Error while reading or writing from URL: "​+url.toString() ); 
-    } 
-  } 
-} 
-</​code>​ 
- 
-To παραπάνω θα μπορούσε να γραφεί ισοδύναμα ως εξής με χρήση ενός αντικειμένου [[http://​docs.oracle.com/​javase/​7/​docs/​api/​java/​net/​URLConnection.html|URLConnection]]. 
-<code java URLConnectionReader.java>​ 
-import java.net.*; 
-import java.io.*; 
- 
-public class URLConnectionReader { 
-  public static void main(String[] args) {    ​ 
-    URL url=null; 
-    try {    
-      url = new URL(args.length>​0 ? args[0] : "​http://​feeds.bbci.co.uk/​news/​rss.xml"​);​ 
-      URLConnection urlcon = url.openConnection();​ 
-      BufferedReader in = new BufferedReader( 
-        new InputStreamReader(urlcon.getInputStream()) ); 
- 
-      String inputLine; 
-      while ((inputLine = in.readLine()) != null) { 
-        System.out.println(inputLine);​ 
-      } 
-      in.close(); 
-    }  
-    catch(MalformedURLException ex) { 
-      System.out.println("​Malformed URL: +"+ args[0] ); 
-      ex.printStackTrace();​ 
-    } 
-    catch(IOException ex) { 
-      System.out.println("​Error while reading or writing from URL: "​+url.toString() ); 
-    } 
-  } 
-} 
-</​code>​ 
  
java/urls.txt · Last modified: 2016/02/26 11:15 (external edit)