java - 查找 http URL 路径的困境

标签 java url

我发现自己陷入了寻找检索 urlpath 的方法的两难境地。 我想从 http url 中检索基本 url,例如:

http://www.test.com/somepath/path1/
base url is : test.com/somepath/path1

http://www.test.com/somepath/path1/file1.html
base url is : test.com/somepath/path1

http://www.test.com/somepath/path1/path2
base url is : test.com/somepath/path1/path2

但在 Java 中,通过使用 URL 对象并使用 getHost() 和 getPath() 以及 getFile() 我将得到以下结果:

1.
host : www.test.com (correct)
path : /somepath/path1 (correct)
file : /somepath/path1 (it should be empty but its not!)
2.
host : www.test.com (correct)
path : /somepath/path1/file1.html (incorrect)
file : /somepath/path1/file1.html (it should be file1.html)
3.
host : www.test.com (correct)
path : /somepath/path1/path2 (correct)
file : /somepath/path1/path2 (it should be empty/null)

我怎样才能克服这个问题?

最佳答案

url 对象不知道/path2 是文件还是目录,因为如果 url 不以“/”结尾,则正式来说它不是目录。您可以添加额外的检查来解决这个问题。拆分 url 并检查最后一部分是否包含“。”例如在“index.html”中找到的。

代码示例

String[] urlSplt = urlStr.split("/");
if(urlSplt[urlSplt.length - 1].contains(".")){
    //URL is a file
} else{
    //url is not a file
}

祝你好运!

关于java - 查找 http URL 路径的困境,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9551406/

相关文章:

java - 我在从标准输入和/或命令行读取时遇到问题

url - Opencart 面包屑链接不一致

java - 从 HTTP POST 计算 HMAC 而无需将整个请求主体复制到内存中

java - 寻找在网页上显示 Java 的好方法

java - Aspose xlsx和pptx文件转换异常

Python 转义 URL

batch-file - 如何使用cmd打开URL?

java - 在java中将二维数组转换为List?

php - 为什么 CSS 在自定义 Url 后不起作用

javascript - 如何使用 jQuery 检测 URL 的变化?