Java URL Class with Example
Java URL Uniform Resource Locator
ahhoz, hogy bármilyen erőforrást megtaláljon az interneten, rendelkeznie kell annak címével.
az URL és az IP-címek az erre a célra használt mutatók. Az IP-cím a számítógép fizikai címére mutat. Mindezek helyett az URL tartalmazza a használni kívánt protokollt, a tartománynevet vagy az IP-címet, az elérési utat és az opcionális töredék azonosítót. Könnyű belátni, hogy az IP-cím az URL része, bár gyakori, hogy IP-cím helyett domain nevet látnak.
a domain név azt a címet adja meg, ahol az internethasználók hozzáférhetnek az Ön webhelyéhez. Ahogy az előző számítógép IP-címeket használ, amelyek számok sorozata, de az emberek számára nehéz megjegyezni a számsorokat. Emiatt a domain neveket fejlesztették ki, a betűk és számok kombinációja képviseli a címet a webhely eléréséhez.
az URL az Uniform Resource Locator rövidítése. Az erőforrások(dokumentum) kezelésére szolgál a világhálón. Az erőforrás lehet fájl vagy könyvtár vagy bonyolultabb objektum, például egy adatbázis vagy keresőmotor lekérdezése. A webböngészők URL-cím használatával kérnek oldalakat a webszerverektől. Az URL egy webcímre utal.
az Internet az internet gyors növekedése miatt az IP-címkészlet gyors kimerülésével néz szembe. Az IPv6-ot a hálózaton keresztül használható IP-címek számának növelésére találták ki. Ezenkívül nincs korlátozás a lehetséges URL-ek számára, mivel a névből nincs hiány.
az URL szintaxisa:
1
2
3
|
rendszer: / / host: port / útvonal?query-string # fragment-id
|
a rendszer-arról szól, hogy milyen protokollt kell használni aforrást.
a hostname– a hostname jelzi, hogy hol találhatók az erőforrásokaz interneten.
Port száma-azt jelzi, hogy a szerver hol található aInternet.
elérési út-meghatározza azt a konkrét erőforrást a gazdagépen belül, amelyhez a felhasználó hozzáférni akar.
Query-string-a kiszolgálón futó szerveroldali szkripteken továbbítandó adatokat tartalmazza. Ezt egy kérdőjel előzi meg (?), általában egy karakterlánc névés értékpárok elválasztva egy ampersand.
Fragment-identifier –ez által bevezetett hash karakter (#) a theoptional utolsó része egy URL egy dokumentumot, amely meghatározza a helyét thepage.
hogyan kell lefordítani az URL-t:
a webböngésző IP-vagy internetprotokoll segítségével keres weboldalakat. Az IP olyan számok sorozata, mint a 172.217.163.110, és nehéz lesz megjegyezni egy számot minden meglátogatni kívánt webhelyhez. Sokkal könnyebb használni egy szó alapú URL-t, mint például www.google.com. amikor a gazdagép URL-t ír egy címmezőbe, a webböngészők DNS-t(Domain name Server) használnak az URL megfelelő IP-re történő lefordításához.
elengedhetetlen a kérés feldolgozásához egy Domain Name Server (DNS) segítségével a domain név IP-címgé történő átalakításához. A DNS nélkül a kérés sikertelen lenne, mivel a számítógép nem találná meg a gazdagépet. A böngésző ezután IP-számok segítségével megtalálhatja az Ön számára szükséges információkat.
szintaxis:
1
2
3
4
|
URL példány létrehozása:
URL url = új URL(“https://www.tutorialandexample.com/java-tutorial”);
|
néhány konstruktor létrehozásáhozurl példányok:
Kivitelező | leírás |
URL (Str1 karakterlánc) | URL-objektumot hoz létre egy megadott karakterláncból. |
URL (String protocol, String host11, String file) | URL-objektumot hoz létre a megadott protokollból, host11és fájlnév. |
URL (String protocol, String host1, int port1, String file1) | létrehoz egy URL objektumot protokoll, host, port, andfilename. |
URL (URL url1, Str1 karakterlánc) | URL-objektumot hoz létre az adott karakterlánc elemzésével a megadott kontextusban |
URL (String protocol, String host1, int port, String file1, URLStreamHandler handler1) | URL objektumot hoz létre a megadott protokollból, gazdagépből,portszámból, fájlnévből és kezelőből1. |
URL (URL url1, String str, URLStreamHandler handler) | URL-t hoz létre az adott str elemzésével a megadott kezelővel egy adott kontextusban. |
az URL számos módszert biztosít az URL elemzéséhez:
módszer | leírás |
public StringgetProtocol() | az URL protokollját adja vissza. |
public StringgetHost() | visszaadja az URL hostnevét. |
public StringgetPort() | visszaadja az URL portszámát |
public StringgetFile() | visszaadja az URL fájlnevét |
publicURLConnection openConnection () | az URLConnection példányát adja vissza. azaz ezzel az URL-lel társítva. |
public String toString() | visszaadja az adott URLobject karakterlánc-ábrázolását |
nyilvános karakterlánc getAuthority() | az URL jogosultsági részét adja vissza, vagy üres. |
public StringgetPath() | visszaadja az URL elérési útját, vagy null, ha üres. |
nyilvános karakterlánc getQuery() | visszaadja az URL lekérdezési részét. |
public intgetDefaultPort() | az alapértelmezett portot adja vissza. |
nyilvános karakterlánc getRef () | visszaadja az URL hivatkozását |
az URL típusai:
- fájl URL
a fájlprotokollt olyan URL-ben használják, amely meghatározza az operációs rendszer fájljának helyét. Arra használják, hogy retrievefiles a számítógépen belül.
jellemzők:
- a fájl URL-CÍMEEGY adott gazdagépen elérhető fájlok kijelölésére szolgál.
- ez az URL nem jelöl meg olyan erőforrást, amelyuniverzálisan elérhető az Interneten keresztül.
szintaxis:
1
2
3
|
fájl:// host / útvonal
|
itt a gazdagép annak a rendszernek a teljesen minősített tartományneve, amelyen az elérési út elérhető, az elérési út pedig hierarchikus könyvtárút. Meghatározza a localhostot, a gépetamely az URL-t értelmezi, ha a gazdagépet kihagyják.
példa-
fájl:///C:/Users/ABCD/Desktop/socket/1.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
import java.net.*;
public class url1{
public static void main(String args){
try
{
URL url=new URL(“file:///C:/Users/ABCD/Desktop/socket/1.html”);
System.out.println (“a protokoll:” + url.getProtocol());
rendszer.kifelé.println (“a gazdagép neve:” + url.getHost());
rendszer.kifelé.println (“a Port száma:” + url.getPort());
rendszer.kifelé.println (“Az alapértelmezett portszám:” + url.getDefaultPort());
rendszer.kifelé.println (“a lekérdezési karakterlánc:” + url.getQuery());
rendszer.kifelé.println (“az elérési út:” + url.getPath());
rendszer.kifelé.println (“fájl:” + url.getFile());
}
catch (kivétel e){rendszer.kifelé.println (e);}
}
}
|
a kód kimenete:
2. http URL
a Hypertext Transfer Protocol specifikáljaalkalmazási szintű protokoll elosztott, együttműködő, hipermédiainformációs rendszerekhez. Ez a TCP / IP alapú kommunikációs protokoll lehetaz adatok világhálón történő továbbítására szolgál. Az adatok lehetnek htmlfájlok, képfájlok, videók stb. Ez egy alapprotokoll, amely biztosítja a két rendszer közötti kommunikációt pl., a böngészők és a webszerver. Amikor URL-t írsz a böngészőidbe, http kérést küld a webszervernek a weboldalhoz. Válaszként a kiszolgáló elküldi a http választ az ügyfélnek.
jellemzők:
- a http protokoll a kliens/szerver alapú architektúrában működő kérés/válasz protokollra utal, ahol a böngésző http kliensként, a kiszolgáló pedig szerverként működik. Ez egy hontalan protokoll, mert minden parancsot függetlenül hajtanak végre, anélkül, hogy ismernék az előtte lévő parancsokat.
- médiafüggetlen, mert bármilyen típusú adatot küldhet.
- kapcsolat nélküli, mivel a szerver feldolgozza a kérést, és visszaküldi a választ, amely után az ügyfél megszakítja a kapcsolatot.
Szintaxis:
http://host:port/path/file
Példa:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
behozatal java.net.*;
nyilvános osztály url1 {
nyilvános statikus void main (String args){
try
{
URL url = új URL(“http://www.tutorialandexample.com/static-and-dynamic-binding-in-java”);
rendszer.kifelé.println (“a protokoll:”+url.getProtocol());
rendszer.kifelé.println (“a gazdagép neve:” + url.getHost());
rendszer.kifelé.println (“a Port száma:” + url.getPort());
rendszer.kifelé.println (“Az alapértelmezett portszám:” + url.getDefaultPort());
rendszer.kifelé.println (“a lekérdezési karakterlánc:” + url.getQuery());
rendszer.kifelé.println (“az elérési út:” + url.getPath());
rendszer.kifelé.println (“fájl:” + url.getFile());
}
catch (kivétel e){rendszer.kifelé.println (e);
}
}
}
|
a fenti program kimenete:
3. https URL
a https nem külön protokoll a http-től. Egyszerűen TLS/SSL titkosítást használ a http protokollon keresztül.A https megakadályozza, hogy a weboldalak, amelyek az információkat sugárzott el, hogy könnyen megtekinthető bárki a hálózaton. A https, trafficencrypts oly módon, hogy még akkor is, ha a csomagokat elfogott, akkor jönnek keresztbe értelmetlen karakterek.
jellemzők:
- a https támogatja a biztonságos hipertext átviteli protokollt. Ez a http biztonságos verziója, amely az adatokat biztonságos formában küldi el a böngészők és a weboldal között, amelyhez csatlakozik.
- ez azt jelenti, hogy a böngészők és a weboldal közötti kommunikáció titkosítva van.
- a HTTPS fontossága a http felett az adataink biztonsága a középső hackerektől, mivel titkosítva vannak.
- ez elsősorban forsecure weboldalak, mint az online banki és online vásárlási megrendelőlapokat.
Szintaxis:
https://host:port/path/file
Példa:
https://www.tutorialspoint.com/index.htm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
behozatal java.net.*;
nyilvános osztály url1 {
nyilvános statikus void main (String args){
try
{
URL url = új URL (“https://www.tutorialspoint.com/index.htm”);
rendszer.kifelé.println (“a protokoll:” + url.getProtocol());
rendszer.kifelé.println (“a gazdagép neve:” + url.getHost());
rendszer.kifelé.println (“a Port száma:” + url.getPort());
rendszer.kifelé.println (“Az alapértelmezett portszám:” + url.getDefaultPort());
rendszer.kifelé.println (“a lekérdezési karakterlánc:” + url.getQuery());
rendszer.kifelé.println (“az elérési út:” + url.getPath());
rendszer.kifelé.println (“fájl:” + url.getFile()) ;
}
fogás (kivétel e)
{rendszer.kifelé.println (e);
}
}
}
|
a kimenet:
4. ftp URL
ftpis a szabványos hálózati protokoll, amelyet számítógépes fájlok átvitelére használnak az aclient és a server között egy kliens-szerver számítógépes hálózaton. Azt is használjáka fájlok letöltése vagy feltöltése a távoli gazdagépről vagy a távoli gazdagépre.
jellemzők:
- File Transferprotocol URL a TCP/IP által biztosított szabványos mechanizmus a fájl másolásáhozegy eszközről egy másik eszközre.
- fájlok letöltésére vagy feltöltésére szolgál a kliens és a szerver között a számítógéphálózaton a legbiztonságosabb módon.
- lehetővé teszi a fájlok oda-vissza átvitelét.
példa: Fájl átvitel és fájl Vevő megjelenítése a
FTP protokoll használatával
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
|
Java importálása.ááá.* ;
Java importálása.ááá.esemény.* ;
javax importálása.swing.*;
Importálás java.io.*;
Importálás java.net.*;
nyilvános osztály FileTransfer kiterjeszti JFrame végrehajtja ActionListener
{
JFrame jf;
JButton jb1,jb2;
Szövegmező tf;
JFileChooser jfc;
Socket s;
DataInputStream din;
DataOutputStream dout,dout1;
string s1=új string();
string S2=””;
Fájl f;
fájlátvitel()
{
jf = új JFrame (“fájlátvitel”);
jf.setSize(400,400);
konténer c=jf.getContentPane ();
c.setBackground(Szín.piros);
jf.setLayout (null);
jb1=új JButton(“fájl kiválasztása”);
jb2=új JButton(“Küldés”);
jb1.setBounds(30,50,100,50);
jb2.setBounds(250,150,70,50);
jf.hozzáad (jb1);
jf.Hozzáadás (jb2);
tf=új Szövegmező ();
tf.beállítható (hamis);
tf.setBackground (Szín.fehér);
tf.setBounds(150,50,190,50);
jf.hozzáad (tf);
jf.setDefaultCloseOperation (WindowConstants.EXIT_ON_CLOSE);
jf.setVisible (igaz);
jfc=új JFileChooser ();
jb1.addActionListener (ezt);
jb2.addActionListener (ez);
}
nyilvános void fileTransfer (String s1)
{
próbálja
{
dout1.writeUTF(s1);
dout1.flush ();
s2=f. getAbsolutePath ();
FileReader fr=új FileReader (s2);
BufferedReader br=új BufferedReader (fr);
String s3=””;
do{
s3=br.readLine ();
if (s3!= nulla)
{
dout.writeUTF(s3);
dout.flush();
}
}
míg (s3!= nulla);
}
fogás (kivétel e)
{
rendszer.kifelé.println (e+”a fájl nem található”);
}
}
nyilvános érvénytelen actionPerformed (ActionEvent e)
{
if (e. getSource ()= = jb1)
{
int x = jfc.showOpenDialog (nulla);
ha(x==JFileChooser.APPROVE_OPTION)
{
f=jfc.getSelectedFile ();
String path=f.getPath();
s1=f.getName();
tf.setText (útvonal+ “/ / ” + s1);
}
}
if (e. getSource ()= = jb2)
{
próbálja
{
//s1=tf.getText ();
s=új Socket (“localhost”,10);
dout1 = új DataOutputStream(s. getOutputStream());
dout = új DataOutputStream(s. getOutputStream());
}
fogás (kivétel e1)
{
rendszer.kifelé.println (“Küldés gomb:” + e1);
}
filetranszfer (s1);
}
}
nyilvános statikus void main (a karakterlánc)
{
FileTransfer ft = új FileTransfer();
}
}
|
a program kimenete:
File Receiver
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
Java importálása.ááá.* ;
javax importálása.swing.* ;
import java.io.*;
Importálás java.net.*;
nyilvános osztály FileReciever
{
foglalat s;
ServerSocket ss;
DataInputStream dis, dis1;
PrintWriter pw;
nyilvános FileReciever()
{
próbálja
{
SS = új ServerSocket(10);
s=ss.accept ();
rendszer.kifelé.println (“connection connected”);
dis=új DataInputStream(s. getInputStream());
String s2=dis.readUTF();
rendszer.kifelé.println(s2);
FileWriter fr=új FileWriter(s2);
pw=új PrintWriter (fr);
fileReciever();
}
fogás (kivétel e1)
{
}
}
nyilvános void fileReciever()
{
String str=””;
próbálja{
do
{
str=dis.readUTF();
rendszer.kifelé.println (str);
pw.println (str);
pw.flush();
}
míg (!str.egyenlő(nulla));
}
fogás (kivétel e)
{
}
}
nyilvános statikus void main (a karakterlánc)
{
FileReciever fi = új FileReciever();
}
}
|
a program kimenete:
az URL címzés módja:
- abszolút URL?Az abszolút URL az erőforrás teljes címe. Az abszolút URL a protokolltól, a gazdagépnévtől, a mappanévtől és a fájlnévtől függ. Hasonló az indiai postai szolgálat által meghatározott címekhez, amelyek tartalmazzák a nevet, a házszámot, az utcacímet, a várost, az államot és a pin-kódot. Ha bármelyik információhiányzik, az e-mailt nem lehet a megfelelő személynek kézbesíteni. Hasonlóképpen, ha önhiányzik az URL-ből származó információk, az erőforrásfájl nem érhető el.
1. példa:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
behozatal java.net.*;
Java.net. URL importálása;
nyilvános osztály absoluteURL
{
nyilvános statikus void main (String s)
{
próbálja
{
//ez az erőforrás teljes címe.
URL url = új URL(“https://www.tutorialandexample.com:80/interface-in-java”);
rendszer.kifelé.println (url);
//ez létrehoz egy URL-t az egyes komponensek halad a különböző paramétereket.
URL url1 = új URL (“https”, “www.tutorialandexample.com”, 80,” /java-absztrakció”);
rendszer.kifelé.println (url1);
}
catch (MalformedURLException e)
{
e. printStackTrace();
}
}
}
|
a fenti program kimenete:
Példa2:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
behozatal java.net.*;
nyilvános osztály url1 {
nyilvános statikus void main (String args){
try
{
URL url = új URL(“https://www.google.com/search?q=tutorialandexamplet&oq=tutorialandexample&sourceid=chrome&ie=UTF-8”);
rendszer.kifelé.println (“a protokoll:” + url.getProtocol());
rendszer.kifelé.println (“a gazdagép neve:” + url.getHost());
rendszer.kifelé.println (“a Port száma:” + url.getPort());
rendszer.kifelé.println (“Az alapértelmezett portszám:” + url.getDefaultPort());
rendszer.kifelé.println (“a lekérdezési karakterlánc:” + url.getQuery());
rendszer.kifelé.println (“az elérési út:” + url.getPath());
rendszer.kifelé.println (“fájl:” + url.getFile());
}
catch (kivétel e){rendszer.kifelé.println (e);}
}
}
|
a program kimenete:
- relatív URL-a relatív URL nem tartalmazza az URL összes részét, mindig az alap URL-hez viszonyítva veszi figyelembe. A relatív URL tartalmazza a mappa nevét és a fájlnevet, vagy csak a fájlnevet. Ezt az URL-t alapvetően akkor használják, ha az erőforrásfájlt ugyanabban a mappában vagy ugyanazon a kiszolgálón tárolják. Ebben az esetben a böngésző nem igényli a protokollt és a kiszolgáló nevét, mert feltételezi, hogy az erőforrásfájl az eredeti fájlhoz viszonyított mappában vagy kiszolgálóban van tárolva. A relatív URL elegendő információt tartalmaz az erőforrás eléréséhez egy másik URL-hez képest. Van egy konstruktor, amely URL-objektumot hoz létre egy másik URL-objektumból (az alapból) és egy relatív URL-specifikációt.
szintaxis:
1
2
3
|
URL (URL baseURL, karakterlánc relativeURL)
|
az első argumentum az URL-objektum, amely meghatározza az új URL alapját. Az otherargument egy karakterlánc, amely meghatározza az erőforrás nevének többi részét az alaphoz képest. Ha baseURL null, akkor a konstruktor kezeli relativeURL mint anabsoluteURL specifikáció. Ha a relativeURL abszolút URL-specifikációt ad meg, akkor a konstruktor figyelmen kívül hagyja a baseURL-t.
példa: Létrehozhatunk egy URL-t, amely https://www.tutorialandexample.com/java-characters/ – ra mutat. Ezután oldjuk meg az URL relatív mint”../ interface-in-java”. A doubledots (..) azt jelenti, hogy a szülő mappába megy.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
import java.net.MalformedURLException;
import java.net.URL;
nyilvános osztály RelativeURL
{
nyilvános statikus void main (String s)
{
próbálja
{
URL base = új URL(“https://www.tutorialandexample.com/”);
URL rel1 = új URL (alap,” java-karakterek “);
rendszer.kifelé.println (“a relatív url adatai”);
rendszer.kifelé.println (rel1);
rendszer.kifelé.println (“a protokoll:” + rel1.getProtocol());
rendszer.kifelé.println (“a gazdagép neve:” + rel1.getHost());
rendszer.kifelé.println (“a Port száma:” + rel1.getPort());
rendszer.kifelé.println (“Az alapértelmezett portszám:” + rel1.getDefaultPort ()); rendszer.kifelé.println (“a lekérdezési karakterlánc:” + rel1.getQuery());
rendszer.kifelé.println (“az útvonal:” + rel1.getPath());
rendszer.kifelé.println (“Fájl:” + rel1.getFile());
//létrehozunk egy URL-t http://www.tutorialandexample.com/java-characters.
URL base1 = új URL(“https://www.tutorialandexample.com/java-characters/”);
//mi megoldani egy URL relatív ../ interface-in-java
URL rel2 = új URL (base1, “../ interface-in-java”);
rendszer.kifelé.println (“a relatív url adatai”);
rendszer.kifelé.println (rel2.toExternalForm());
rendszer.kifelé.println (“a protokoll:” + rel2.getProtocol());
rendszer.kifelé.println (“a gazdagép neve:” + rel2.getHost());
rendszer.kifelé.println (“a Port száma:” + rel2.getPort());
rendszer.kifelé.println (“Az alapértelmezett portszám:” + rel2.getDefaultPort ()); rendszer.kifelé.println (“a lekérdezési karakterlánc:” + rel2.getQuery());
rendszer.kifelé.println (“az útvonal:” + rel2.getPath());
rendszer.kifelé.println (“Fájl:” + rel2.getFile());
}
catch (MalformedURLException e)
{
e. printStackTrace();
}}
}
|
a fenti program kimenete:
Leave a Reply