我在Java應用程序中通過I/O流式傳輸下載各種文件。只要我有完整的URL路徑(包括文件名),接收並保存這些文件就行得通,但我怎樣才能找到某個域的索引文件的名稱(例如Apache的DirectoryIndex
中定義的)? HTTP標頭不提供此信息,URLConnection
方法也不提供此信息。如何找出Web服務器顯示的默認頁面的名稱?
非常感謝!
很好
S.
我在Java應用程序中通過I/O流式傳輸下載各種文件。只要我有完整的URL路徑(包括文件名),接收並保存這些文件就行得通,但我怎樣才能找到某個域的索引文件的名稱(例如Apache的DirectoryIndex
中定義的)? HTTP標頭不提供此信息,URLConnection
方法也不提供此信息。如何找出Web服務器顯示的默認頁面的名稱?
非常感謝!
很好
S.
據我所知,應該沒有檢索此信息的方式。 HTTP規範沒有提供,我認爲這不是一件壞事。您的客戶請求URL「/」,這取決於Web服務器如何處理,沒有義務返回文件名。
這也是值得指出的(我敢肯定,你知道的,但以防萬一),僅僅因爲一個URL看起來像/somedir/somefile.html
,但這並不意味着這是屬下的實際文件。它可以通過代理服務器到另一個主機,mod_rewrite等 - 換句話說,這個名字是任意的,並且不一定與磁盤上的物理名稱有任何關係。
總之,我認爲你最好的選擇是選擇默認的文件名,例如index.html
這些情況下堅持下去。
唯一的出路是:
謝謝,Phill。我以某種方式期望我會需要這樣一種解決方案。 – stpn108 2011-03-14 16:16:01