본문 바로가기

Dev/JAVA

[JAVA] URL 파라메터 분리(Feat.get)

728x90
반응형

요즘 파이썬을 통해서 크롤링을 하지만. 자바로 만들어진 로직을 사용할때도 있다.

 

자바에서 URL중에서 해당 값만 가지고 오기 사용한 메서드 입니다.

 

값은 스트링으로 처리하여 메서드에서 스트링 값을 가지고 처리 하게 함.

// 맵을 통해서 값을 저장
HashMap<String, String> url_map = (HashMap<String, String>) getQueryParam(link);
// query값은 파라메터 값입니다. ?이후에 있는 값들을 처리
public Map<String, String> getQueryParam(String query){
		String[] params = query.split("&");
		Map<String, String> map = new HashMap<String, String>();
		for (String param : params){
			String name = param.split("=")[0];
			String value = param.split("=")[1];
			map.put(name, value);
		}
		return map;
	}

위에서는 ? 이후에 처리 하게 하였다 만약 URL 파라메터에 ?가 포함이 되어 있으면 ?도 처리 하면 된다.

public Map<String, String> getQueryParam(String query){		
 Map<String, String> map = new HashMap<String, String>();
 if(query.indexOf("?")>-1){
  String[] temp_check_url = query.split("\\?");
  if(temp_check_url.length>0){
   String check_url = query.split("\\?")[1];
   if(!check_url.equals("")){
    String[] params = check_url.split("&");
     for (String param : params){
      String[] temp_param = param.split("=");						
      if(temp_param.length>1){
       String name = temp_param[0] !=null ? temp_param[0]  : "";
       String value = temp_param[1] !=null ? temp_param[1]  : "";
        map.put(name, value);
       }						
      }
     }
    }
   }else{
    String[] params = query.split("&");			
    for (String param : params){
     String name = param.split("=")[0];
     String value = param.split("=")[1];
     map.put(name, value);
    }
   }		
 return map;
}

값을 가지고 오는 방법은 아래와 같다.

String req_page = url_map.get("page")

 

이렇게 사용하면 쉽게 파라메터 값을 조회 할수가 있어요~

728x90
반응형

'Dev > JAVA' 카테고리의 다른 글

공공데이터 API 요청시 SERVICE ERROR  (0) 2023.12.27
java-jython 오류 - No module named site  (2) 2020.08.26
JAVA 접근 제한자  (0) 2020.08.02
JAVA - 키보드 입력  (0) 2020.07.26
JAVA-String 숫자여부 Check  (0) 2020.07.24