比如一个网页叫
http://xx.com/a2/
解析这个网页的内容,里面有许多
<a href="/b2/">b2</a>
<a href="2.html">2.html</a>
<a href="../3.html">3.html</a>
如果逐个计算,好像也可以忍受,使用java来判断比如开头为/表示要和根目录相加,../表示要跳上去一级别
如果出现了../../呢。 跳上去2级
../../../跳上去3级
还有一些意想不到的 比如 ./
没必要一个个判断,java早已经内置了函数来解决url拼接问题。
代码如下 | 复制代码 |
joinUrl("http://xx.com/a2/","/b2/"); |
一切都搞定。
代码如下 | 复制代码 |
public static String joinUrl(String curl,String file){ URL url = null; String q = ""; try { url = new URL(new URL(curl),file); q = url.toExternalForm(); } catch (MalformedURLException e) { } url = null; if(q.indexOf("#")!=-1)q = q.replaceAll("^(.+?)#.*?$", "$1"); return q; } |
用来快速获取域名
代码如下 | 复制代码 |
public static String getDomain(String curl){ URL url = null; String q = ""; try { url = new URL(curl); q = url.getHost(); } catch (MalformedURLException e) { } url = null; return q; } |
时间: 2024-11-01 20:29:36