java如何获取url域名,对url自动拼接

比如一个网页叫

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

java如何获取url域名,对url自动拼接的相关文章

Golang strings.Split获取字符串中的url/域名的简易方法

package main import ( "fmt" "strings" ) func main() { fmt.Println("Hello World!") a := "golang strings.Split获取字符串中的url/域名的简易方法http://www.waylau.com/golang-strings-split-get-url/" a1 := strings.Split(a, "//"

js获取url链接中的域名、Url、相对路径和参数的例子

用js提取出url中的域名(domain)部分,用split()函数就可以了. 因为一个正确的url必定是由http://或者是https://.domain.路径/参数组成,所以可以用split以/进行分割成数组,取第3部分就是域名了. 代码范例: var url = 'http://www.111cn.net/phper/php.html'; var domain = url.split('/'); //以"/"进行分割 if( domain[2] ) {     domain =

php 获取当前url域名实例代码

php教程 获取当前url域名实例代码    function getServerName()  {   $ServerName = strtolower($_SERVER['SERVER_NAME']?$_SERVER['SERVER_NAME']:$_SERVER['HTTP_HOST']);   if( strpos($ServerName,'http://') )   {       return str_replace('http://','',$ServerName);   }  

js 常用indexof url,域名,浏览类型 获取函数

js 常用indexof url,域名,浏览类型 获取函数 */ function pv_rport(dm,f) {   var i = dm.indexof(f);   if (i > 0) {    return  dm.substring(0, i);   }   return dm;  }  function getrefurl(refurl) {   if (refurl.indexof('ref0') > -1){    var regexstr = /(?:&|?)ref

java 如何获取来路页面url

问题描述 java 如何获取来路页面urla页面链接到b页面,如何知道a页面的地址 解决方案 request.getHeader("referer");解决方案二:request.getRequestURI();把沙发上那哥们的全试一遍吧,反正以后都会用到.解决方案三:request.getRequestURI() request.getRequestURL() request.getRemoteAddr() request.getRemoteHost() request.getRem

php获取当前页面完整URL地址_php技巧

使用PHP编写程序的时候,我们常常想要获取当前页面的URL.下面提供一个用于获取当前页面URL的函数以及使用方法:示例一: <?php // 说明:获取完整URL function curPageURL() { $pageURL = 'http'; if ($_SERVER["HTTPS"] == "on") { $pageURL .= "s"; } $pageURL .= "://"; if ($_SERVER[&qu

java网络编程中向指定URL发送GET POST请求示例_java

复制代码 代码如下: import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStream;import java.io.PrintWriter;import java.net.HttpURLConnection;import java.net.URL;import java.net.URLConnection;import jav

(java gui) 和 (网页 js) 通过url传值(如json)时,注意问题

(java gui) 和 (网页 js)  通过url传值时,如果不涉及特殊字符可以不进行编码, 但是如果有特殊字符,比如中文,及符号 就要进行编码. java 使用 java.net.URLEncoder.encode(str, "UTF-8");编码, java 使用java.net.URLDecoder.decode(str,"UTF-8");解码, js 使用decodeURIComponent(str);解码 js  使用 encodeURICompone

asp.net获取当前url及来源url

获取的 URL 是完整的 URL,即包含 QueryString 部分 后台用string url = Request.Url.ToString(); 获取 域名:  代码如下 复制代码 string url=HttpContext.Current.Request.Url.Host; url= www.111cn.net 获取 站点名+页面名+参数:  代码如下 复制代码 string url=Request.RawUrl; (或 string url=Request.Url.PathAndQu