- PR -

相対URIの解決について

1
投稿者投稿内容
ヨシ
会議室デビュー日: 2003/10/30
投稿数: 5
お住まい・勤務地: 大阪
投稿日時: 2004-03-19 22:16
こんにちは。ヨシと申します。

『相対URIの解決』について、質問させて頂きます。

現在、HTMLを解析し、そこに含まれるリンクを抽出して、『相対URI』の場合は
『絶対URI』へ変換する処理を考えております。

上記の件について、過去に『 Insider.NET > .NET TIPS』で触れられていました。

 URL-----> http://www.atmarkit.co.jp/fdotnet/dotnettips/051uri/uri.html

そちらの方を参考に、URIクラスを用いた『相対URIの解決』の確認を行いました。

しかし・・・

当方、実行環境が「jdk1.3」の為、『java.net.URIクラス』の使用は出来ません。

現在も調査中ですが、進捗は芳しくない状態が続いております。

jdk1.3において、『相対URIの解決』を行う手段として、何か参考になる様な
情報をご存知の方がおられましたら、ご教授頂けないでしょうか?

どうぞ、宜しくお願い致します。


*** version ******
jdk1.3
******************
山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2004-03-20 01:26
URIクラスのソースを参考にしてみてはいかがですか?
さくらば
大ベテラン
会議室デビュー日: 2002/11/12
投稿数: 145
投稿日時: 2004-03-20 05:19
こんにちは、さくらばです。

扱う対象が URL クラスで十分ならば、URL クラスで行ってしまえばいいのでは
ないでしょうか。URL クラスの URL(URL context, String spec) というコンス
トラクタを使えば相対を絶対にできます。

コード:
	URL base = new URL("http://www.atmarkit.co.jp/fdotnet/");

	URL url = new URL(base, "index.html");
	System.out.println(url);

	url = new URL(base, "/fdotnet/index.html");
	System.out.println(url);

	url = new URL(base, "../index.html");
	System.out.println(url);

	url = new URL(base, "../fwin2d/");
	System.out.println(url);


ヨシ
会議室デビュー日: 2003/10/30
投稿数: 5
お住まい・勤務地: 大阪
投稿日時: 2004-03-22 11:00
お早うございます。ヨシです。

インギさん、さくらばさん、早速のご回答有難うございます。

今回は、さくらばさんの言われていた『URLクラスでの対応』で
解決致しました。

対応する対象のクラスでは、基底となるURIのプロトコルが
『HTTP』の時で、かつ解決すべきターゲットとなるURIが
『相対URI』の場合、『絶対URI』へと解決する物だったので、
十分『URLクラス』で対応出来ると判断した結果です。


最後に、、
即レスに対して、返答が2日後という遅い物になってしまい、
申し訳ありませんでした。
1

スキルアップ/キャリアアップ(JOB@IT)