java:urls

Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
java:urls [2015/03/23 20:29]
gthanos [Αναλύοντας ένα URL με βάση το API της κλάσης]
java:urls [2018/03/08 09:22]
gthanos [Χρησιμοποιώντας την κλάση URL για να ανοίξουμε ένα απομακρυσμένο resource]
Line 1: Line 1:
 ====== Δουλεύοντας με URLs ====== ====== Δουλεύοντας με URLs ======
-Το πρώτο μέρος του URL ονομάζεται αναγνωριστικό πρωτοκόλλου και δείχνει το τι πρωτόκολλο χρησιμοποιείται κάθε φορά, και το δεύτερο μέρος ονομάζεται όνομα του πόρου και διευκρινίζει τη διεύθυνση IP ή το όνομα τομέα όπου βρίσκεται ο πόρος. Το αναγνωριστικό πρωτοκόλλου και το όνομα του πόρου χωρίζονται από μια άνω και κάτω τελεία και δύο καθέτους.+Τα [[wp>Uniform_resource_locator|URL]]s (Uniform Resource Locators), είναι διαδικτυακές διευθύνσεις οι οποίες προϋποθέτουν την ύπαρξη ενός διαδικτυακού πρωτοκόλλου στο επίπεδο της εφαρμογής (π.χ http, ftp) το οποίο υλοποιείται πάνω από την [[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 =====
Line 59: Line 80:
 ===== Χρησιμοποιώντας την κλάση URL για να ανοίξουμε ένα απομακρυσμένο resource ===== ===== Χρησιμοποιώντας την κλάση URL για να ανοίξουμε ένα απομακρυσμένο resource =====
  
-<code java>+<code java URLReader.java>
 import java.net.*; import java.net.*;
 import java.io.*; import java.io.*;
  
 public class URLReader { public class URLReader {
-    public static void main(String[] args) throws MalformedURLException {+  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()) );
  
-        URL oracle new URL("http://www.oracle.com/"); +      String inputLine; 
-        BufferedReader in = new BufferedReader+      while ((inputLine in.readLine()) != null) { 
-          new InputStreamReader(oracle.openStream()) );+        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>
  
-        String inputLine+To παραπάνω θα μπορούσε να γραφεί ισοδύναμα ως εξής με χρήση ενός αντικειμένου [[http://docs.oracle.com/javase/7/docs/api/java/net/URLConnection.html|URLConnection]]. 
-        while ((inputLine = in.readLine()) != null) +<code java URLConnectionReader.java> 
-            System.out.println(inputLine); +import java.net.*; 
-        in.close();+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> </code>
 +
 +|Προηγούμενο: [[:java:jfc_algorithms | Αλγόριθμοι  ]] | [[:toc | Περιεχόμενα ]] | Επόμενο: [[:java:sockets| Sockets ]]|
  
java/urls.txt · Last modified: 2020/03/09 08:27 by gthanos