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
Next revision Both sides next revision
java:urls [2015/03/23 20:46]
gthanos [Χρησιμοποιώντας την κλάση URL για να ανοίξουμε ένα απομακρυσμένο resource]
java:urls [2015/03/24 08:26]
gthanos
Line 1: Line 1:
 ====== Δουλεύοντας με URLs ====== ====== Δουλεύοντας με URLs ======
-Το πρώτο μέρος του ​URL ονομάζεται ​αναγνωριστικό πρωτοκόλλου και δείχνει ​το τι πρωτόκολλο χρησιμοποιείται κάθε φορά, και το δεύτερο μέρος ονομάζεται όνομα του πόρου και διευκρινίζει τη διεύθυνση ​IP ή το όνομα τομέα όπου βρίσκεται ο πόρος. Το αναγνωριστικό πρωτοκόλλου και το όνομα του πόρου χωρίζονται από μια άνω ​και κάτω ​τελεία και δύο καθέτους.+Τα [[wp>​Uniform_resource_locator|URL]]s (Uniform Resource Locators), είναι διαδικτυακές διευθύνσεις οι οποίες ​προϋποθέτουν την ύπαρξη ενός πρωτοκόλλου στο επίπεδο της εφαρμογής το οποίο υλοποιείται ​πάνω από την [[http://​en.wikipedia.org/​wiki/​Internet_protocol_suite|TCP/​IP στοίβα]].  
 +Κάθε URL έχει τα εξής χαρακτηριστικά. 
 +  * **πρωτόκολλο:** το είδος ​το πρωτοκόλλου που θα χρησιμοποιηθεί (π.χ. httpftp κλπ) 
 +  * **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 70: Line 91:
       BufferedReader in = new BufferedReader(       BufferedReader in = new BufferedReader(
         new InputStreamReader(url.openStream()) );         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;       String inputLine;
java/urls.txt · Last modified: 2016/02/26 11:15 (external edit)