Java對URL中的中文進行UrlEncode


有些中文或者有空格的、傳入參數帶中文的URL需要用如下方式進行encode方能進行真正的請求:

public static String urlEncodeURL(String str) {
        try {
            String result = URLEncoder.encode(str, "UTF-8");
            result = result.replaceAll("%3A", ":").replaceAll("%2F", "/").replaceAll("\\+", "%20");//+實際上是 空格 url encode而來
            return result;
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }
        return null;
    }

只對url地址中的中文進行編碼

public static String encode(String url)    {        
try {             
  Matcher matcher =Pattern.compile([\\u4e00\\u9fa5]").matcher(url);             
  int count = 0;             
  while (matcher.find()) {               
  //System.out.println(matcher.group());   String tmp=matcher.group();
  url=url.replaceAll(tmp,java.net.URLEncoder.encode(tmp,"gbk"));
  }   
// System.out.println(count);   //url = java.net.URLEncoder.encode(url,"gbk"); } catch (UnsupportedEncodingException e) {   // TODO Auto-generated catch block
  e.printStackTrace();
} return url; }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM