java获取url连接地址参数的工具类

来源:互联网 发布:centos下搭建hadoop 编辑:程序博客网 时间:2024/06/10 10:47
package com.yanshu.tools;


import java.util.HashMap;
import java.util.*;


public class CRequest {
/**
     * 解析出url请求的路径,包括页面
     * @param strURL url地址
     * @return url路径
     */
    public static String UrlPage(String strURL)
    {
    String strPage=null;
      String[] arrSplit=null;
     
      strURL=strURL.trim().toLowerCase();
     
      arrSplit=strURL.split("[?]");
      if(strURL.length()>0)
      {
          if(arrSplit.length>1)
          {
                  if(arrSplit[0]!=null)
                  {
                  strPage=arrSplit[0];
                  }
          }
      }
     
    return strPage;   
    }
    /**
     * 去掉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;   
    }
    /**
     * 解析出url参数中的键值对
     * 如 "index.jsp?Action=del&id=123",解析出Action:del,id:123存入map中
     * @param URL  url地址
     * @return  url请求参数部分
     */
    public static Map<String, String> URLRequest(String URL)
    {
    Map<String, String> mapRequest = new HashMap<String, String>();
   
      String[] arrSplit=null;
     
    String strUrlParam=TruncateUrlPage(URL);
    if(strUrlParam==null)
    {
        return mapRequest;
    }
      //每个键值为一组 www.2cto.com
    arrSplit=strUrlParam.split("[&]");
    for(String strSplit:arrSplit)
    {
    // System.out.println("----strSplit---"+strSplit);
          String[] arrSplitEqual=null;         
          arrSplitEqual= strSplit.split("[=]");
     //    System.out.println("array:--->>>"+arrSplitEqual);
          //解析出键值
          if(arrSplitEqual.length>1)
          {
              //正确解析
              mapRequest.put(arrSplitEqual[0], arrSplitEqual[1]);
             
          }
          else
          {
              if(arrSplitEqual[0]!="")
              {
              //只有参数没有值,不加入
              mapRequest.put(arrSplitEqual[0], "");       
              }
          }
    }   
    return mapRequest;   
    }


}

-------------------------------

package com.yanshu.tools;


import java.util.ArrayList;
import java.util.List;
import java.util.Map;






public class TestCRequest {
    /**用于测试CRequest类
     * @param args
     */
    public static void main(String[] args) {
    // 请求url
        String str = "https://www.duba.com/?shop=None&carServiceLocation=None&used=None&gmtCreateTime=None&useful=None&dsr=None&tmallSweetPic=None&goldUser=None&buyCount=None&picNum=None&picsSmall=None&serviceRateContent=None&rateContent=None&reply=None&displayUserNick=None&displayRatePic=None&total=None&BuyId=None&anony=None&sellerId=None&itemId=None&appendComment=None&displayRateSum=None&structuredRateList=None&tradeId=None&auctionTitle=None&items=None&rateDate=None&tamllSweetLevel=None&auctionSku=None&insertDateTime=None&pics=None&lastPage=None&aliMallSeller=None&tradeEndTime=None&cmsSource=None&position=None&storeType=None&fromMemory=None&page=None&showChooseTopic=None&fromMall=None";    
       
        //url页面路径
     //   System.out.println(CRequest.UrlPage(str));
       
        List list=new ArrayList();
        
        //url参数键值对
        String strRequestKeyAndValues="";       
        Map<String, String> mapRequest = CRequest.URLRequest(str);
       
        for(String strRequestKey: mapRequest.keySet()) {
            String strRequestValue=mapRequest.get(strRequestKey);
            strRequestKeyAndValues+="key:"+strRequestKey+",Value:"+strRequestValue+";";           
        }
        //
        System.out.println(mapRequest);
        list.add(mapRequest);
        
        
        System.out.println(com.alibaba.fastjson.JSON.toJSON(mapRequest));
        System.out.println(com.alibaba.fastjson.JSON.toJSON(list));
        
        
        
        
        //取map的值
     /*   for(String key:mapRequest.keySet())
        {
        
         System.out.println(key);
         if(key=="id"||"id".equals(key))
         {
         
        String id=mapRequest.get(key);
        System.out.println("map的值:"+id);
         }
        }*/
        
    
       
     
    }


}


阅读全文
'); })();
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 寿险分类 分类招生 失语症分类 面料分类 失眠分类 地板分类 分类网 土特产分类 头痛分类 电线分类 心理学分类 英语分类 威士忌分类 公务员分类 啤酒分类 品牌分类 阀门分类 电阻分类 空调分类 失眠的分类 验钞机分类 油漆分类 瓦楞纸分类 分类方法 公司分类 传感器分类 轴承的分类 女装分类 面膜分类 轮滑鞋分类 脱发分类 防化服分类 毛囊炎分类 血管瘤分类 洋酒分类 文件分类 信用卡分类 建材分类 瓷砖的分类 动物分类 建造师分类