Java URL Class with Example
Java URL Uniform Resource Locator
インターネット上のリソースを見つけるには、そのアドレスが必要です。
URLとIPアドレスは、この目的のために使用されるポインタです。 IPアドレスは、コンピュータの物理アドレスを指します。 すべての代わりに、URLには、使用するプロトコル、ドメイン名またはIPアドレス、パス、およびオプションのフラグメント識別子が含まれています。 IPアドレスの代わりにドメイン名を表示するのが一般的ですが、IPアドレスがURLの一部であることは簡単にわかります。
ドメイン名は、インターネットユーザーがウェブサイトにアクセスできるアドレスを指定します。 以前のコンピュータは、一連の数字であるIPアドレスを使用していますが、人間が数字の文字列を覚えておくことは困難です。 このため、ドメイン名が開発された、あなたのウェブサイトにアクセスするためのアドレスを表すために文字と数字の組み合わせです。
URLはUniform Resource Locatorの頭字語です。 これは、World Wide Web上のリソース(文書)に対処するために使用されます。 リソースは、データベースや検索エンジンへのクエリのように、ファイルやディレクトリ、またはより複雑なオブジェクトにすることができます。 Webブラウザは、URLを使用してwebサーバーからページを要求します。 URLは、webアドレスを参照します。
インターネットの急速な成長により、インターネットはipアドレスプールの急速な枯渇に直面しています。 Ipv6は、ネットワーク上で使用できるIPアドレスの数を増やすために発明されました。 また、名前の不足がないので、可能なURLの数に制限はありません。
URLの構文:
1
2
3
|
スキーム://ホスト:ポート/パス?クエリ文字列#fragment-id
|
スキーム-それはそこにアクセスするために使用されるプロトコルについて指示しますソース。
ホスト名–ホスト名は、インターネット上のリソースの場所を示します。
ポート番号-サーバーがインターネット上のどこにあるかを示します。
Path-ユーザーがアクセスしたいホスト内の特定のリソースを指定します。
Query-string-サーバー上で実行されるサーバー側スクリプトに渡されるデータが含まれています。 それは疑問符が先行しています(?)は、通常、アンパサンドで区切られた名前と値のペアの文字列です。
Fragment-identifier–ハッシュ文字(#)によって導入され、ページ内の場所を指定するドキュメントのURLのオプションの最後の部分です。
URLを翻訳する方法:
webブラウザは、IPまたはインターネットプロトコルを使用してwebページを検索します。 IPは172.217.163.110のような一連の数字であり、訪問したいすべてのwebサイトの番号を覚えておくことは困難になります。 次のような単語ベースのURLを使用する方がはるかに簡単ですwww.google.comホストがアドレスフィールドにURLを書き込むとき、webブラウザはURLを対応するIPに変換するためにDNS(Domain name Server)を使用します。
ドメイン名をIPアドレスに変換するためには、ドメインネームサーバー(DNS)を介して要求を処理する必要があります。 DNSがなければ、コンピュータがホストを見つけることができないため、要求は失敗します。 その後、ブラウザはIP番号を使用して情報を見つけることができます。
:
1
2
3
4
|
URLのインスタンスの作成:
URL url=新しいURL(“https://www.tutorialandexample.com/java-tutorial”);
|
creatingURLインスタンスのためのいくつかのコンストラクタ:
コンストラクタ | 説明 |
URL(String str1) | 指定された文字列からURLオブジェクトを作成します。 |
URL(String protocol,String host11,String file) | 指定されたプロトコル、host11、およびファイル名からURLオブジェクトを作成します。 |
URL(String protocol,String host1,int port1,String file1) | protocol,host,port,andfilenameからURLオブジェクトを作成します。 |
URL(URL url1,String str1) | 指定された文字列をgivenコンテキストで解析してURLオブジェクトを作成します |
URL(String protocol,String host1,int port,String file1,URLStreamHandler handler1) | 指定されたプロトコル、ホスト、ポート番号、ファイル名、およびhandler1からURLオブジェクトを作成します。 |
URL(URL url1,String str,URLStreamHandler handler) | 特定のコンテキスト内で指定されたハンドラで指定されたstrを解析することにより、URLを作成します。 |
URLは、URLを解析するための多くのメソッドasfollowsを提供します:
メソッド | 説明 |
public StringgetProtocol() | URLのプロトコルを返します。 |
public StringgetHost() | URLのホスト名を返します。 |
public StringgetPort() | URLのポート番号を返します |
public StringgetFile() | URLのファイル名を返します |
publicURLConnection openConnection() | URLConnectionのインスタンスを返します。 つまり、このURLと関連しています。 |
public String toString() | 指定されたURLobjectの文字列表現を返します |
public String getAuthority() | URLの権限部分を返し、空の場合はnullを返します。 |
public StringgetPath() | URLのパスを返し、空の場合はnullを返します。 |
public String getQuery() | URLのクエリ部分を返します。 |
public intgetDefaultPort() | 使用されているデフォルトのポートを返します。 |
Public String getRef() | URLの参照を返します |
URLのタイプ:
- ファイルURL
ファイルプロトコルは、オペレーティングシステムファイルの場所を指定するURLで使用されます。 これは、コンピュータ内からファイルを取得するために使用されます。
:
- ファイルのURLは、特定のホストコンピュータ上でアクセス可能なファイルを指定するために使用されます。
- このURLは、インターネット上で普遍的にアクセス可能なリソースを指定しません。
:
1
2
3
|
ファイル://ホスト/パス
|
ここで、ホストは、パスがアクセス可能なシステムの完全修飾ドメイン名であり、パスは階層ディレクトリパスです。 これは、ホストが省略された場合にURLが解釈されるlocalhost、マシンを指定します。
例-
file:///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(“プロトコルは:”+url.getProtocol());
システム。出ろprintln(“ホスト名は:”+url.ゲットホスト());
システム。出ろprintln(“ポート番号は:”+urlです。ゲットポート());
システム。出ろprintln(“デフォルトのポート番号は:”+urlです。getDefaultPort());
システム。出ろprintln(“クエリ文字列は:”+urlです。getQuery());
システム。出ろprintln(”パスは:”+urlです。getPath());
システム。出ろprintln(“ファイル:”+url.getFile());
}
catch(Exception e){システム。出ろprintln(e);}
}
}
|
コードの出力:
2. http URL
ハイパーテキスト転送プロトコルは、分散、協調、ハイパーメディア情報システムのアプリケーションレベルのプロトコルを指定します。 これは、WORLD Wide Web上でデータを配信するために使用できるTCP/IPベースの通信プロトコルです。 データは、htmlfiles、画像ファイル、ビデオなどであってもよいです。 これは、例えば、二つのシステム間の通信を確保するための基礎プロトコルです。、ブラウザとウェブサーバ。 あなたのブラウザでURLを書くとき、それはwebページのためのwebサーバーにhttp要求を送信します。 これに応答して、サーバーはhttp応答をクライアントに送信します。
:
- httpプロトコルは、ブラウザがhttpクライアントのように動作し、サーバーがサーバーとして動作するクライアント/サーバーベースのアーキテクチャで動作する要求/応答 各コマンドは、その前に来たコマンドの知識を持たずに独立して実行されるため、ステートレスプロトコルです。
- 任意のタイプのデータを送信できるため、メディアに依存しません。
- サーバーが要求を処理して応答を返し、その後クライアントが接続を切断すると、接続が不要になります。
:
http://host:port/path/file
例:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
インポートjava.net.*;
パブリッククラスurl1{
パブリック静的void main(String args){
try
{
URL url=新しいURL(“http://www.tutorialandexample.com/static-and-dynamic-binding-in-java”);
システム。出ろprintln(“プロトコルは:”+url.getProtocol());
システム。出ろprintln(“ホスト名は:”+url.ゲットホスト());
システム。出ろprintln(“ポート番号は:”+urlです。ゲットポート());
システム。出ろprintln(“デフォルトのポート番号は:”+urlです。getDefaultPort());
システム。出ろprintln(“クエリ文字列は:”+urlです。getQuery());
システム。出ろprintln(”パスは:”+urlです。getPath());
システム。出ろprintln(“ファイル:”+url.getFile());
}
catch(Exception e){システム。出ろprintln(e);
}
}
}
|
上記のプログラムの出力:
3. https URL
httpsはhttpから分離されたprotocolではありません。 Httpプロトコル上でTLS/SSL暗号化を使用するだけです。Httpsは、簡単にネットワーク上の誰もが閲覧されている離れて放送され、その情報を持っていることからウェブサイトを防ぎます。 Httpsでは、パケットが傍受されても無意味な文字として来るような方法でtrafficencryptsします。
:
- httpsはsecure hypertext transfer protocolの略です。 これは、データがあなたのブラウザとあなたが接続しているwebsitestoとの間で安全な形で送信されるhttpの安全なバージョンです。
- それはあなたのブラウザとウェブサイト間のすべての通信が暗号化されていることを意味します。
- httpよりもhttpの重要性は、暗号化されている中間のハッカーからのデータの安全性です。
- オンラインバンキングやオンラインショッピングの注文フォームなど、主にセキュリティのwebページ用です。
:
https://host:port/path/file
例:
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
|
インポートjava.net.*;
パブリッククラスurl1{
パブリック静的void main(String args){
try
{
URL url=新しいURL(“https://www.tutorialspoint.com/index.htm”);
出ろprintln(“プロトコルは:”+url.getProtocol());
システム。出ろprintln(“ホスト名は:”+url.ゲットホスト());
システム。出ろprintln(“ポート番号は:”+urlです。ゲットポート());
システム。出ろprintln(“デフォルトのポート番号は:”+urlです。getDefaultPort());
システム。出ろprintln(“クエリ文字列は:”+urlです。getQuery());
システム。出ろprintln(”パスは:”+urlです。getPath());
システム。出ろprintln(“ファイル:”+url.getFile()) ;
}
catch(Exception e)
{システム。出ろprintln(e);
}
}
}
|
出力:
4. ftp URL
ftpisクライアントサーバーコンピュータネットワーク上のaclientとサーバー間でコンピュータファイルを転送するために使用される標準のネットワークプロト また、リモートホストから、またはリモートホストへのファイルのダウンロードまたはアップロードにも使用されます。
:
- File Transferprotocol URLは、1つのデバイスから別のデバイスにファイルをコピーするためのTCP/IPによって提供される標準的なメカニズムです。
- これは、最も安全な方法でcomputernetwork上のクライアントとサーバーの間でファイルをダウンロードまたはアップロードするために使用されます。
- これは、ファイルの前後の転送を可能にします。
: Ftpプロトコル
ファイル転送を使用してファイル転送とファイル受信者を表示するには
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をインポートします。awt.*;
javaをインポートします。awt.イベント。*;
javaxをインポートします。スイング*;
java.io.*;
インポートjava.net.*;
パブリッククラスFileTransferはJframeを拡張し、ActionListenerを実装します
{
Jframe jf;
JButton jb1,jb2;
TextField tf;
JFileChooser jfc;
Socket s;
DataInputStream din;
DataOutputStream dout,dout1;
DataOutputStream dout,dout1;
文字列s1=新しい文字列();
文字列s2=””;
ファイルf;
FileTransfer()
{
jf=new JFrame(“ファイル転送”);
jf.セットサイズ(400,400);
getContentPane();
c.setBackground(Color.赤);
jf.setLayout(null);
jb1=新しいJButton(“ファイルを選択”);
jb2=新しいJButton(“送信”);
jb1.セットバウンズ(30,50,100,50);
jb2.セットバウンズ(250,150,70,50);
jf.追加(jb1);
jf.追加(jb2);
tf=新しいTextField();
tf.setEditable(false);
tf.setBackground(色。ホワイト);
tf.セットバウンズ(150,50,190,50);
jf.追加(tf);
jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
jf.setVisible(true);
jfc=new JFileChooser();
jb1.addActionListener(this);
jb2.addActionListener(この);
}
public void fileTransfer(文字列s1)
{
試してみてください
{
ドゥート1writeUTF(s1);
dout1.flush();
s2=f.getAbsolutePath();
FileReader fr=new FileReader(s2);
BufferedReader br=new BufferedReader(fr);
String s3=””;
readLine();
if(s3!=null)
{
ドウトwriteUTF(s3);
dout.フラッシュ();
}
}
しながら(s3!=null);
}
キャッチ(例外e)
{
システム。出ろprintln(e+”ファイルが見つかりません”);
}
}
パブリックボイドactionPerformed(ActionEvent e)
{
if(e.getSource()==jb1)
{
int x=jfcです。showOpenDialog(null);
if(x==JFileChooser.APPROVE_OPTION)
{
f=jfc。getSelectedFile();
文字列パス=f.getPath();
s1=f.getName();
tf.setText(パス+”//”+s1);
}
}
if(e.getSource()==jb2)
{
試してみてください
{
//s1=tf.getText();
s=new Socket(“localhost”,10);
dout1=新しいDataOutputStream(s.getOutputStream());
dout=新しいDataOutputStream(s.getOutputStream());
}
キャッチ(例外e1)
{
システム。出ろprintln(“送信ボタン:”+e1);
}
fileTransfer(s1);
}
}
public static void main(文字列a)
{
FileTransfer ft=新しいFileTransfer();
}
}
|
プログラムの出力:
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をインポートします。awt.*;
javaxをインポートします。スイング*;
インポートjava.io.*;
インポートjava.net.*;
パブリッククラスFileReciever
{
Socket s;
ServerSocket ss;
DataInputStream dis,dis1;
PrintWriter pw;
public FileReciever()
{
試してみてください
{
ss=新しいServerSocket(10);
s=ss。accept();
システム。出ろprintln(“connection connected”);
dis=new DataInputStream(s.getInputStream());
文字列s2=dis。readUTF();
システム。出ろprintln(s2);
FileWriter fr=new FileWriter(s2);
pw=new PrintWriter(fr);
fileReciever();
}
キャッチ(例外e1)
{
}
}
パブリック-ボイド-ファイル-レシーバー()
{
文字列str=””;
try{
do
{
str=dis.readUTF();
システム。出ろprintln(str);
pw.println(str);
pw.フラッシュ();
}
しばらく(!str。等号(null));
}
キャッチ(例外e)
{
}
}
public static void main(文字列a)
{
FileReciever fi=新しいFileReciever();
}
}
|
プログラムの出力:
URLのアドレス指定方法:
- 絶対URL?絶対URLは、リソースの完全なアドレスです。 絶対URLは、プロトコル、ホスト名、フォルダ名、およびファイル名に依存します。 これは、名前、住宅番号、住所、都市、州、およびpinコードが含まれているインドの郵便サービスによって定義されたアドレスに似ています。 情報のいずれかが欠落している場合、メールは適切な人に配信することはできません。 同様に、URLからの情報を見逃した場合、リソースファイルにアクセスすることはできません。
例1:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
インポートjava.net.*;
java.net.URLをインポートします;
パブリッククラスabsoluteURL
{
public static void main(文字列s)
{
試してみてください
{
//これはリソースの完全なアドレスです。
(“https://www.tutorialandexample.com:80/interface-in-java”);
システム。出ろprintln(url);
//これは、各コンポーネントが異なるパラメータとして渡すからURLを作成します。
URL url1=新しいURL(“https”,”www.tutorialandexample.com”,80,”/java-abstraction”);
システム。出ろprintln(url1);
}
キャッチ(MalformedURLException e)
{
e.printStackTrace();
}
}
}
|
上記のプログラムの出力:
例2:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
インポートjava.net.*;
パブリッククラスurl1{
パブリック静的void main(String args){
try
{
URL url=新しいURL(“https://www.google.com/search?q=tutorialandexamplet&oq=tutorialandexample&sourceid=chrome&ie=UTF-8”);
システム。出ろprintln(“プロトコルは:”+url.getProtocol());
システム。出ろprintln(“ホスト名は:”+url.ゲットホスト());
システム。出ろprintln(“ポート番号は:”+urlです。ゲットポート());
システム。出ろprintln(“デフォルトのポート番号は:”+urlです。getDefaultPort());
システム。出ろprintln(“クエリ文字列は:”+urlです。getQuery());
システム。出ろprintln(”パスは:”+urlです。getPath());
システム。出ろprintln(“ファイル:”+url.getFile());
}
catch(Exception e){システム。出ろprintln(e);}
}
}
|
プログラムの出力:
- 相対URL-相対URLにはURLのすべての部分が含まれているわけではなく、常にベースURLに関して考慮されます。 相対URLには、フォルダー名とファイル名、またはファイル名のみが含まれます。 このURLは、基本的に、リソースファイルが同じフォルダまたは同じサーバーに格納されている場合に使用されます。 この状況では、リソースファイルが元のファイルを基準にしてフォルダーまたはサーバーに格納されていることを前提としているため、ブラウザーではプロト 相対URLには、別のURLを基準にしてリソースに到達するのに十分な情報が含まれています。 別のURLオブジェクト(ベース)と相対URL指定からURLオブジェクトを作成するコンストラクタがあります。
:
1
2
3
|
URL(URL baseURL,String relativeURL)
|
firstargumentは、新しいURLのベースを指定するURLオブジェクトです。 Otherargumentは、ベースに対するリソース名の残りの部分を指定する文字列です。 BaseURLがnullの場合、コンストラクタはrelativeURLをanabsoluteURL仕様のように扱います。 RelativeURLに絶対URL指定が指定されている場合、コンストラクターはbaseURLを無視します。
: https://www.tutorialandexample.com/java-characters/を指すURLを作成することができます。 次に、相対URLを”として解決します。./インターフェイス-イン-java”。 ダブルドッツ(..)は、親フォルダに移動することを意味します。
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
|
インポートjava.net.MalformedURLException;
インポートjava.net.URL;
パブリッククラスRelativeURL
{
public static void main(文字列s)
{
試してみてください
{
URL base=新しいURL(“https://www.tutorialandexample.com/”);
URL rel1=new URL(base,”java-characters”);
システム。出ろprintln(“相対urlの情報”);
システム。出ろprintln(rel1);
システム。出ろprintln(“プロトコルは:”+rel1.getProtocol());
システム。出ろprintln(“ホスト名は:”+rel1.ゲットホスト());
システム。出ろprintln(“ポート番号は:”+rel1.ゲットポート());
システム。出ろprintln(“デフォルトのポート番号は:”+rel1です。getDefaultPort());システム。出ろprintln(“クエリ文字列は”+rel1です。getQuery());
システム。出ろprintln(“パスは:”+rel1.getPath());
システム。出ろprintln(“ファイル:”+rel1.getFile());
//URLhttp://www.tutorialandexample.com/java-charactersを作成します。
URL base1=新しいURL(“https://www.tutorialandexample.com/java-characters/”);
//私たちは、URLの相対として解決します。./interface-in-java
URL rel2=新しいURL(base1,”../interface-in-java”);
システム。出ろprintln(“相対urlの情報”);
システム。出ろprintln(rel2.toExternalForm());
システム。出ろprintln(“プロトコルは:”+rel2.getProtocol());
システム。出ろprintln(“ホスト名は:”+rel2.ゲットホスト());
システム。出ろprintln(“ポート番号は:”+rel2.ゲットポート());
システム。出ろprintln(“デフォルトのポート番号は:”+rel2です。getDefaultPort());システム。出ろprintln(“クエリ文字列は:”+rel2.getQuery());
システム。出ろprintln(“パスは:”+rel2.getPath());
出ろprintln(“ファイル:”+rel2.getFile());
}
キャッチ(MalformedURLException e)
{
e.printStackTrace();
}}
}
|
上記のプログラムの出力:
Leave a Reply