importjava.net.URLEncoder;importjava.util.HashMap;importjava.util.Iterator;importjava.util.Map;importjava.util.StringTokenizer;public classurl {public static void main(String[] args)throwsException {
String str="http://nufm.dfcfw.com/EM_Finance2014NumericApplication/JS.aspx?type=CT&cmd=C._A&sty=FCOIATA&sortType=C&sortRule=-1&page=1&pageSize=70&js=var%20quote_123%3d{rank:[(x)],pages:(pc)}&token=7bc05d0d4c3c22ef9fca8c2a912d779c&jsName=quote_123&_g=0.5927966693718834";
String result=GetRealUrl(str);
System.out.println(result);
}//对url中的参数进行url编码
public staticString GetRealUrl(String str) {try{int index = str.indexOf("?");if (index < 0) returnstr;
String query= str.substring(0, index);
String params= str.substring(index + 1);
Map map=GetArgs(params);//Map map=TransStringToMap(params);
String encodeParams =TransMapToString(map);return query + "?" +encodeParams;
}catch(Exception ex) {
System.out.println(ex.getMessage());
}return "";
}//将url参数格式转化为map
public static Map GetArgs(String params) throwsException{
Map map=newHashMap();
String[] pairs=params.split("&");for(int i=0;i
String argname=pairs[i].substring(0,pos);
String value=pairs[i].substring(pos+1);
value= URLEncoder.encode(value,"utf-8");
map.put(argname,value);
}returnmap;
}//将map转化为指定的String类型
public staticString TransMapToString(Map map){
java.util.Map.Entry entry;
StringBuffer sb= newStringBuffer();for(Iterator iterator =map.entrySet().iterator(); iterator.hasNext();)
{
entry=(java.util.Map.Entry)iterator.next();
sb.append(entry.getKey().toString()).append("=" ).append(null==entry.getValue()?"":
entry.getValue().toString()).append (iterator.hasNext()? "&" : "");
}returnsb.toString();
}//将String类型按一定规则转换为Map
public staticMap TransStringToMap(String mapString){
Map map= newHashMap();
java.util.StringTokenizer items;for(StringTokenizer entrys = new StringTokenizer(mapString, "&"); entrys.hasMoreTokens();
map.put(items.nextToken(), items.hasMoreTokens()? ((Object) (items.nextToken())) : null))
items= new StringTokenizer(entrys.nextToken(), "=");returnmap;
}
}