精华内容
下载资源
问答
  • 2018-04-28 15:54:34
    package test;
    
    
    import java.util.ArrayList;
    import java.util.HashMap;
    
    
    public class ParseUrlUtil implements java.io.Serializable{
    
    
    	private static final long serialVersionUID = -2419331782437199701L;
    	//	保存URL参数的容器
    	public HashMap<String,String> strUrlParas ;
    	//private ArrayList<String> needDecode;
    		
    	
    	public ParseUrlUtil() {
    		super();
    		this.strUrlParas = new HashMap<String,String>();
    		this.needDecode = new ArrayList<String>();
    		
    	}
    
    /**
     * @description 解析日志url
     * @param url 需要解析的单条日志内容
     */
    	public void parser(String url){
    		strUrlParas.clear();
    //		传递的URL参数
    		String strUrl = "";
    		String strUrlParams = "";
    
    
    //		解析访问地址
    		if(url.contains("?")){
    			String[] strUrlPatten = url.split("\\?");
    			strUrl = strUrlPatten[0];					
    			strUrlParams = strUrlPatten[1];
    			
    		}else{
    			strUrl = url;
    			strUrlParams = url;
    		}
    
    		strUrlParas.put("URL", strUrl);
    //		解析参数
    		String[] params = null;
    		
    		if(strUrlParams.contains("&")){
    			params = strUrlParams.split("&");			
    		}else{
    			params = new String[] {strUrlParams};
    		}
    		
    //		保存参数到参数容器
    		for(String p:params){
    			if(p.contains("=")) {
    				String[] param = p.split("=");
    				if(param.length==1){
    					strUrlParas.put(param[0],"");
    				}else{
    					
    					String key = param[0];
    					String value = param[1];
    					
    					strUrlParas.put(key, value);
    				}
    			}else {
    				strUrlParas.put("errorParam",p);
    			}
    		}
    		
    	}	
    	
    }

    更多相关内容
  • 无论我们在做爬虫时还是在做访问日志解析时,都需要java获取request中的参数、java解析URL问号后的参数。有时候我们需要从request中获取参数,或者获取拼接在Url后面的参数,有时候一个一个去拿有点麻烦,一起拿出来...

    无论我们在做爬虫时还是在做访问日志解析时,都需要java获取request中的参数、java解析URL问号后的参数。有时候我们需要从request中获取参数,或者获取拼接在Url后面的参数,有时候一个一个去拿有点麻烦,一起拿出来放在一个map里面需要用哪个就取哪个,方便省事

    上代码:

    import java.io.UnsupportedEncodingException;

    import java.net.URLDecoder;

    import java.util.HashMap;

    import java.util.Map;

    import javax.servlet.http.HttpServletRequest;

    public class HttpParamUtil {

    /**

    * 获得url中参数

    * @param url

    * @return

    */

    public static Map getParameter(String url) {

    Map map = new HashMap();

    try {

    final String charset = "utf-8";

    url = URLDecoder.decode(url, charset);

    if (url.indexOf('?') != -1) {

    final String contents = url.substring(url.indexOf('?') + 1);

    String[] keyValues = contents.split("&");

    for (int i = 0; i < keyValues.length; i++) {

    String key = keyValues[i].substring(0, keyValues[i].indexOf("="));

    String value = keyValues[i].substring(keyValues[i].indexOf("=") + 1);

    map.put(key, value);

    }

    }

    } catch (Exception e) {

    e.printStackTrace();

    }

    return map;

    }

    /**

    * 获取request中参数

    *

    * @param request 页面请求

    */

    public static Map getRequestParameters(HttpServletRequest request) {

    String parameters = "";// 请求参数

    String urlParameter = request.getQueryString();// 网址中的参数

    if (urlParameter != null && !"".equals(urlParameter)) {

    try {

    urlParameter = URLDecoder.decode(urlParameter, "UTF-8");

    } catch (UnsupportedEncodingException e) {

    e.printStackTrace();

    }

    } else {

    urlParameter = "";

    }

    parameters = urlParameter;

    Map map = new HashMap();

    String[] arr = parameters.split("&");

    for (int i = 0; i < arr.length; i++) {

    String key = arr[i].substring(0, arr[i].indexOf("="));

    String value = arr[i].substring(arr[i].indexOf("=") + 1);

    map.put(key, value);

    }

    return map;

    }

    /**

    * 测试

    *

    * @param args

    */

    public static void main(String[] args) {

    String url = "www.xxxx.com?id=100001&name=zhangsan&age=25";

    Map map = getParameter(url);

    System.out.println(map);

    }

    }

    展开全文
  • public class CRequest { /** * 解析url请求的路径,包括页面 * @param strURL url地址 * @return url路径 */ public static String UrlPage(String strURL) { String strPage=null; String[] arrSplit=null; ...
  • UrlUtil.java package com.bigbigbu.util.http; import java.io.UnsupportedEncodingException; import java.util.HashMap; import java.util.Map; import org.apache.commons.lang3.StringUtils; /** * @Tit

    UrlUtil.java

    package com.bigbigbu.util.http;
    
    import java.io.UnsupportedEncodingException;
    import java.util.HashMap;
    import java.util.Map;
    
    import org.apache.commons.lang3.StringUtils;
    
    /**
    * @Title: UrlUtil
    * @Description: URL(编码、解码、参数解析)
    * @Company: 卜凡起的博客
    * @author    FANQIBU
    * @date       2018年2月1日
    */
    public class UrlUtil {
        private final static String ENCODE = "GBK"; 
        /**
         * URL 解码
         *
         * @return String
         * @author lifq
         * @date 2015-3-17 下午04:09:51
         */
        public static String getURLDecoderString(String str) {
            String result = "";
            if (null == str) {
                return "";
            }
            try {
                result = java.net.URLDecoder.decode(str, ENCODE);
            } catch (UnsupportedEncodingException e) {
                e.printStackTrace();
            }
            return result;
        }
        /**
         * URL 转码
         *
         * @return String
         * @author lifq
         * @date 2015-3-17 下午04:10:28
         */
        public static String getURLEncoderString(String str) {
            String result = "";
            if (null == str) {
                return "";
            }
            try {
                result = java.net.URLEncoder.encode(str, ENCODE);
            } catch (UnsupportedEncodingException e) {
                e.printStackTrace();
            }
            return result;
         }
        /**  
         * 正则替换  
         * @param url  
         * @param name  
         * @param value  
         * @return  
         */  
        public static String replaceUrlParameterReg(String url, String name, String value) {  
            if (StringUtils.isNotBlank(url) && StringUtils.isNotBlank(value)) {  
                url = url.replaceAll("(" + name + "=[^&]*)", name + "=" + value);  
            }  
            return url;  
        }  
        /**  
         * 正则替换  
         * @param url  
         * @param name  
         * @param value  
         * @return  
         */  
        public static String getUrlParameterReg(String url, String name) {
    
            Map<String, String> mapRequest = new HashMap<String, String>();
    
              String[] arrSplit=null;
    
            String strUrlParam=TruncateUrlPage(url);
            if(strUrlParam==null)
            {
                return "";
            }
              //每个键值为一组 www.2cto.com
            arrSplit=strUrlParam.split("[&]");
            for(String strSplit:arrSplit)
            {
                  String[] arrSplitEqual=null;         
                  arrSplitEqual= strSplit.split("[=]");
    
                  //解析出键值
                  if(arrSplitEqual.length>1)
                  {
                      //正确解析
                      mapRequest.put(arrSplitEqual[0], arrSplitEqual[1]);
    
                  }
                  else
                  {
                      if(arrSplitEqual[0]!="")
                      {
                      //只有参数没有值,不加入
                      mapRequest.put(arrSplitEqual[0], "");       
                      }
                  }
            }   
            return mapRequest.get(name);  
        }  
        /**
         * 去掉url中的路径,留下请求参数部分
         * @param strURL url地址
         * @return url请求参数部分
         */
        private static String TruncateUrlPage(String strURL)
        {
        String strAllParam=null;
          String[] arrSplit=null;
    
          strURL=strURL.trim().toLowerCase();
    
          arrSplit=strURL.split("[?]");
          if(strURL.length()>1)
          {
              if(arrSplit.length>1)
              {
                      if(arrSplit[1]!=null)
                      {
                      strAllParam=arrSplit[1];
                      }
              }
          }
    
        return strAllParam;   
        }
        public static void main(String[] args) {
            String str ="/activePage?wxto=0C29975119DE037B4F25CD119CF4CF11&activity2018topid=oz9Zj07Jg5O9IfAyVauT-GL-CSfM&activity2018topunid=o-NUA0l8fxm2_5fmK_ocpyxrP1dE&subscribe=0&timestamp=1516008942920&-NUA0l8fxm2_5fmK_ocpyxrP1dE&oaccesstoken=5_xJYY3gnUTD4pqJFc7_ltbvclb0ZRKOFBEc5BXAwi7vjZndRAN58AkPazqUJDGzBbrw-J1ag1PF0C-S39SqJflA&m=1&wxt=C9A58DA3804E46981BF4B78C8C862743&-NUA0oHjJjCcyGe-wJdEFYjwrfU&-NUA0oHjJjCcyGe-wJdEFYjwrfU&-NUA0oHjJjCcyGe-wJdEFYjwrfU";
          System.out.println( getUrlParameterReg(str,"wxto"));
        }
    }
    展开全文
  • HTTP url解析

    2018-11-30 14:27:43
    http的url参数解析,包括编解码等功能
  • Java 解析url,获取参数

    千次阅读 2021-03-09 23:04:05
    一个简单的解析url,获取参数的Java工具类import java.util..../*** @author lixk* @description url工具类* @date 2018/9/26 9:58*/public class UrlUtil {public static class UrlEntity {/*** 基础url*/publ...

    一个简单的解析url,获取参数的Java工具类

    import java.util.HashMap;

    import java.util.Map;

    /**

    * @author lixk

    * @description url工具类

    * @date 2018/9/26 9:58

    */

    public class UrlUtil {

    public static class UrlEntity {

    /**

    * 基础url

    */

    public String baseUrl;

    /**

    * url参数

    */

    public Map params;

    }

    /**

    * 解析url

    *

    * @param url

    * @return

    */

    public static UrlEntity parse(String url) {

    UrlEntity entity = new UrlEntity();

    if (url == null) {

    return entity;

    }

    url = url.trim();

    if (url.equals("")) {

    return entity;

    }

    String[] urlParts = url.split("\\?");

    entity.baseUrl = urlParts[0];

    //没有参数

    if (urlParts.length == 1) {

    return entity;

    }

    //有参数

    String[] params = urlParts[1].split("&");

    entity.params = new HashMap<>();

    for (String param : params) {

    String[] keyValue = param.split("=");

    entity.params.put(keyValue[0], keyValue[1]);

    }

    return entity;

    }

    /**

    * 测试

    *

    * @param args

    */

    public static void main(String[] args) {

    UrlEntity entity = parse(null);

    System.out.println(entity.baseUrl + "\n" + entity.params);

    entity = parse("http://www.123.com");

    System.out.println(entity.baseUrl + "\n" + entity.params);

    entity = parse("http://www.123.com?id=1");

    System.out.println(entity.baseUrl + "\n" + entity.params);

    entity = parse("http://www.123.com?id=1&name=小明");

    System.out.println(entity.baseUrl + "\n" + entity.params);

    }

    }

    运行输出结果

    null

    null

    http://www.123.com

    null

    http://www.123.com

    {id=1}

    http://www.123.com

    {name=小明, id=1}

    展开全文
  • * 解析url参数中的键值对 * 如 "index.jsp?Action=del&id=123",解析出Action:del,id:123存入map中 * * @param URL url地址 * @return url请求参数部分 */ public static Map URLRequest(String URL)
  • 2、使用lastIndexOf去解析url字符串。 这种方法最简单高效。 3、UrlConnection获取ContentType的类型推测出文件的类型。 这里我封装了一个工具类,将第二种方法和第三种方法结合。 package johny.utils; ...
  • JAVA http请求工具类

    千次阅读 2022-01-14 11:08:12
    日常工作难免遇到调用其他项目接口,一般都是restful风格,这个并非强制风格,根据项目不同能使用的工具不同,主要受限于项目类型:maven项目,一般项目等。有原生http协议进行交互,java原生自带对http的支持并不...
  • java获取url连接地址参数的工具类

    千次阅读 2017-12-25 09:37:26
    package com.yanshu.tools; import java.util.HashMap; import java.util.*; public class CRequest { ... * 解析url请求的路径,包括页面  * @param strURL url地址  * @return url路径  */  
  • java之Excel处理工具类

    万次阅读 2021-09-30 08:54:27
    /** * Excel工具类 * * @author lp */ public class ExcelUtil { public static final String OFFICE_Excel_2003_POSTFIX = "xls"; public static final String OFFICE_Excel_2010_POSTFIX = "xlsx"; public static...
  • 一些常见好用的java工具类

    千次阅读 2021-09-14 19:19:45
    HttpClient工具类5. json处理工具类 1. 计算器 import java.util.ArrayList; import java.util.Stack; /** * 计算使用util * * @author aa * @since 2020-11-16 */ public class CalculatorUtil { /** * ...
  • 百度找了很多大部分都是pom的,maven项目中的,但是用maven...直接上代码,最后我会解析shp文件所用到的所有jar截图粘上 package com.common.utils; import java.io.File; import java.io.IOException; import j...
  • 1、代码中的常量定义 ... import ... /** * itext PDF操作 */ public class PDFInit { public static final String FILE_... public static final String const_JPG_JAVA = FILE_DIR + "java.jpg"; public static fi
  • Java Utils工具类大全

    万次阅读 2019-01-21 23:06:10
    另外希望身为Java牛牛的你们一起测试和完善,欢迎入群263641914 一起封装和完成常用的Java代码。 节约撸码时间以方便有更多的时间去把妹子~ #开发环境 Win7x64 JDK1.7 IDEA14 #项目结构 │ README.m...
  • package com.yanshu.tool; import java.util.HashMap; import java.util.*; public class CRequest { ... * 解析url请求的路径,包括页面  * @param strURL url地址  * @return url路径  */  
  • httpclient后台调用接口,解析数据 一 、 引入jar包 <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> ...
  • 解析URL中的参数

    千次阅读 2019-11-15 09:35:42
    例如URL :http://127.0.0.1:8080/free07/QueryTest?from=5&to=20&...封装一个对URL进行解析工具类,方便以后的快速使用 注:request.getQueryString() 返回的是:from=5&to=20&nam...
  • Apache 官方 URLEncodedUtils.java 工具类,可以用来获取Url中的字段value值
  • java 获取MP4时长 | Java工具类

    万次阅读 多人点赞 2021-10-20 11:22:20
    /** @Author huyi @Date 2021/10/20 11:09 @Description: MP4工具类 */ @Slf4j public class Mp4Utils { public static long readDuration(Path mp4Path) { if (Files.notExists(mp4Path) || !Files.isReadable(mp4...
  • IP地址解析工具类

    千次阅读 2022-03-22 14:38:58
    QQWry.dat是显IP版QQ的数据库文件,用于获取对方IP及位置,纯真IP数据库也采用了这个格式,并沿用至今。通过ip地址解析出地理位置和服务商信息,通过网上接口也可以就是收费而且又慢。
  • JAVA——Okhttp封装工具类

    千次阅读 2020-09-27 23:08:29
    import java.security.SecureRandom; import java.security.cert.CertificateException; import java.security.cert.X509Certificate; import java.util.concurrent.TimeUnit; /** * @author ShenTuZhiGang * @...
  • JAVA工具类Hutool介绍与使用

    千次阅读 2021-03-11 16:52:33
    Hutools是一个简单易使用的开源工具类 官方参考文档 https://hutool.cn/docs 常用功能 字符串工具 时间操作、转化、对比工具 文件读取、写入、下载等 数据库链接、增删改查 HTTP客户端、网络请求、响应 ...
  • import java.io.ByteArrayOutputStream; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java....
  • URL获取连接参数

    2013-01-20 17:19:27
    获取URL的链接,并且通过IO读写后,转换成字符串返回,URL需要设置的参数都在这里,导入代码就可以运行测试
  • JAVA常用工具类

    万次阅读 多人点赞 2018-09-11 22:28:32
    JAVA常用工具类(根据GITHUB代码统计) 从Google你能搜索到大量的关于Struts,Spring,Hibernate,iBatis等比较大的框架的资料,但是很少有人去关注一些小的工具包,但是当你真正知道了这些包的用处之后,你会发现它能很...
  • Java Hutool(糊涂)工具类索引记录

    千次阅读 2021-05-17 08:48:44
    有时候工具类太多,包括项目封装的,不知道用哪一个,在这里记录下目录,方便查找 介绍 Hutool 是一个 Java 工具包,也只是一个工具包,它帮助我们简化每一行代码,减少每一个方法,让 Java 语言也可以“甜甜的”。...
  • 项目中,需要一个解析URL并获取参数信息的工具类。 JDK版本要求:1.4   【解决方案】 1)增加一个解析URL的HttpRequestParser工具类 public class HttpRequestParser   2)代码如下: /* * 创建日期 ...
  • HttpUrl解析工具类NetUtils,可以解析json数据中的文字和图片,唉,这算是解析吧!

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 113,506
精华内容 45,402
关键字:

java 解析 url工具类

java 订阅