- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:あるURLがファイルなのかディレクトリなのかが知りたい)
URLのリンク先がファイルかディレクトリか、どのように判断すれば良いですか?
このQ&Aのポイント
- あるURLのリンク先がファイルかディレクトリかを判断する方法を教えてください。
- URLのリンク先がファイルかディレクトリかを正確に判断する方法についてお聞きしたいです。
- URLのリンク先がファイルかディレクトリかを判定するためのプログラムについて教えてください。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
>例えば、指定したURLが「http://www.foobar.jp/xxx」、 >取得したリンクが「yyy/zzz」のような場合、 >出力すべきフルパスは以下の2種類が考えられますが... >http://www.foobar.jp/xxx/yyy/zzz >http://www.foobar.jp/yyy/zzz http://www.foobar.jp/xxx がもしディレクトリの場合、 Webサーバは通常 http://www.foobar.jp/xxx/ にリダイレクトします。 リダイレクトした場合には、http://www.foobar.jp/xxx/yyy/zzz を フルパスとするのが正解です。 リダイレクトしない場合は、xxx がファイルであるとみなして、 http://www.foobar.jp/yyy/zzz をフルパスとするのが正解です。 ただし、リンクのフルパスを得るには、BASEタグを読む必要があります。 例えば、http://www.foobar.jp/xxx/index.htmlのHTMLに、 <BASE href="/QQQ/">と書いてあった場合、 <A href="xxx/yyy.html">link</A>のリンク先は、 http://www.foobar.jp/QQQ/xxx/yyy.html になります。
お礼
ありがとうございました。 リダイレクトするというのは知りませんでした。またBASEタグの件もおっしゃるとおりですね。 LWP::UserAgentを利用してページを取得するので、ヘッダの情報なども参照すればうまく処理できそうです。