백수님
1k
2020-11-26 10:20:52 작성 2020-11-26 10:28:54 수정됨
2
124

httpsurlconnection으로 웹서버의 세션값 가져오기


웹뷰로 만들어진 하이브리드앱에서 스프링 웹서버에

httpsurlconnection을 통해 웹서버의 세션값을 가져오려고 합니다.

웹서버에서 자동로그인처리를 해놔서

앱에 접속하면 로그인이 되어 있어서 세션값이 등록되어 있을텐데

null을 리턴하네요.

 

웹서버에서

@RequestMapping("giveToAndroidValue")

@ResponseBody

public Map<String, String> giveToAndroid(HttpSession session) {

String email = (String)session.getAttribute("email");

if(email==null) {

email="없음";

}

HashMap<String, String> map = new HashMap<>();

map.put("email", email);

return map;

}

이렇게 되어있는데

httpsurlconnection으로는 웹서버의 세션값을 못가져오나요??


0
  • 답변 2

  • John Suhr
    3k
    2020-11-26 11:06:37

    세션 쿠키를 따로 저장했다가 같이 보내셔야 합니다 HttpURLConnection은 브라우저가 아니라서 쿠키를 알아서 관리해 주지 않아요.

  • 백수님
    1k
    2020-11-26 11:10:33
    HttpsURLConnection con = (HttpsURLConnection) url.openConnection();
    
    String cookieString = CookieManager.getInstance().getCookie("https://example.com");
    if (cookieString != null) {
       con.setRequestProperty("Cookie", cookieString);
    }


    이걸 사용하니 잘 작동하네요. 감사합니다.

  • 로그인을 하시면 답변을 등록할 수 있습니다.