当前位置 : 主页 > 编程语言 > c++ >

URL处理 工具类

来源:互联网 收集:自由互联 发布时间:2021-06-30
URLUtil.java import java.util.HashMap;import java.util.Iterator;import java.util.Map;import java.util.Set;import com.google.gson.Gson; import com.google.gson.JsonObject; import com.google.gson.JsonParser;/** * 描述:处理URL的工具类
URLUtil.java
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;

import com.google.gson.Gson;  
import com.google.gson.JsonObject;  
import com.google.gson.JsonParser;

/**
 * 描述:处理URL的工具类
 * 可以将get请求转换为json格式
 *
 * @author lizheng
 */
public class URLUtil {
		
	/**
	 * 描述:解析出url请求的路径
	 * @param strURL URL地址
	 * @return
	 * @author lizheng
	 * @date 2017年7月16日
	 */
	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
	 * @return
	 * @author lizheng
	 * @date 2017年7月16日
	 */
	public 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
	 * @return
	 * @author lizheng
	 * @date 2017年7月16日
	 */
	public static Map
 
   URLRequest(String URL) {
		Map
  
    mapRequest = new HashMap
   
    (); String[] arrSplit = null; String strUrlParam = TruncateUrlPage(URL); if (strUrlParam == null) { return mapRequest; } // 每个键值为一组 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; } /** * 描述:将map转换为json字符串的的形式 * @param map * @return * @author lizheng * @date 2017年7月16日 */ public static String mapToJson(Map
    
      map) { Set
     
       keys = map.keySet(); String key = ""; String value = ""; StringBuffer jsonBuffer = new StringBuffer(); jsonBuffer.append("{"); for (Iterator
      
        it = keys.iterator(); it.hasNext();) { key = (String) it.next(); if(map.get(key) !=null){ value = map.get(key); }else { value = ""; } jsonBuffer.append("\""+key +"\""+ ":" +"\""+ value+"\""); if (it.hasNext()) { jsonBuffer.append(","); } } jsonBuffer.append("}"); return jsonBuffer.toString(); } public static void main(String[] args) { String url="http://sjztlfy.hbsfgk.org/ktggPage.jspx?channelId=19057&listsize=169&pagego=1"; System.out.println(mapToJson(URLUtil.URLRequest(url))); } }
      
     
    
   
  
 
网友评论