This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
java:urls [2015/03/23 20:32] gthanos [Χρησιμοποιώντας την κλάση URL για να ανοίξουμε ένα απομακρυσμένο resource] |
java:urls [2015/03/24 08:15] gthanos [Δουλεύοντας με URLs] |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== Δουλεύοντας με URLs ====== | ====== Δουλεύοντας με URLs ====== | ||
- | Το πρώτο μέρος του URL ονομάζεται αναγνωριστικό πρωτοκόλλου και δείχνει το τι πρωτόκολλο χρησιμοποιείται κάθε φορά, και το δεύτερο μέρος ονομάζεται όνομα του πόρου και διευκρινίζει τη διεύθυνση IP ή το όνομα τομέα όπου βρίσκεται ο πόρος. Το αναγνωριστικό πρωτοκόλλου και το όνομα του πόρου χωρίζονται από μια άνω και κάτω τελεία και δύο καθέτους. | + | Τα URLs (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 ===== | ===== Δημιουργώντας ένα URL ===== | ||
Line 59: | Line 67: | ||
===== Χρησιμοποιώντας την κλάση URL για να ανοίξουμε ένα απομακρυσμένο resource ===== | ===== Χρησιμοποιώντας την κλάση URL για να ανοίξουμε ένα απομακρυσμένο resource ===== | ||
- | <code java URLReader> | + | <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) { | + | public static void main(String[] args) { |
- | + | URL url=null; | |
- | try { | + | try { |
- | URL oracle = new URL("http://www.oracle.com/"); | + | url = new URL(args.length>0 ? args[0] : "http://feeds.bbci.co.uk/news/rss.xml"); |
BufferedReader in = new BufferedReader( | BufferedReader in = new BufferedReader( | ||
- | new InputStreamReader(oracle.openStream()) ); | + | new InputStreamReader(url.openStream()) ); |
String inputLine; | String inputLine; | ||
Line 76: | Line 84: | ||
} | } | ||
in.close(); | in.close(); | ||
- | catch(MalformedURLException ex) { | + | } |
+ | 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() ); | ||
} | } | ||
} | } |