마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

post방식으로 로그인하기.

0 추천

안녕하세요.

웹뷰를 연동하는 건 이번이 처음이라, 궁금한 것이 많아 질문글 올려봅니다.

현재 특정웹사이트에 로그인이 가능한 아이디와 패스워드가 있습니다. 

[예를 들어서 아이디는 test / 패스워드는:123 이라고 하겠습니다.]

웹사이트에서 로그인버튼 요소를 확인해보니 전송방식은 post이구요, 폼네임이나 액션등등도 기재 되어있습니다.

*주소나 이름명은 제가 임의대로 변경했습니다^^; 실제 내용과는 다릅니다

<form name="블라" action="블라블라.asp" method="POST" autocomplete="on" onsubmit="return fLoginChk(this);"></form>

 

그리고, 이클립스로 만든 것은 로그인기능을 위한 클래스 하나와, xml파일입니다..

현재 editText 두개를 만들어서 아이디와 비밀번호를 입력하도록 하였고, 로그인 기능을 담당하는 버튼도 하나 만들었습니다. 이 플젝을 실행하면..당연히 xml 디자인대로 나오는데요, 아이디editText와 패스워드editText에 각각

test와 123을 입력한 후, 로그인버튼을 누르면 로그인이 되는것까지 구현하고 싶습니다..

[세션?으로 분류해서 로그인상태와 비로그인상태의 레이아웃은 그 다음에 해야할것같습니다..]

editText에 입력받은 값을 받아서, 로그인버튼을 누를 때 전송해야 하는데요,

post전송 예제를 검색해봤습니다만.. 로그인 버튼을 눌렀을 때

 String url = "http://URL"; //WebView 호출 URL
  String postData = "arg=arg&arg2=arg2&arg3=arg3"; //POST로 넘길 값들..

  mWeb = (WebView) findViewById(R.id.webView1);
   //POST 방식 호출
  mWeb.postUrl(url, EncodingUtils.getBytes(postData, "BASE64"));

post전송 예제를 검색해봤습니다만.. 로그인 버튼을 눌렀을 때

위와같은 소스를 활용해도 되는것인지요?

post로 넘길 값들이 String postData 이 변수인데, 

String postData = "id='editText에 입력한 아이디값'&pw='editText에입력한 패스워드값' "; 이렇게하고..

호출할 url은 로그인이 되었을 때 웹뷰에 띄우는 특정 url을 말하는건가요? 가령 로그인이 성공하고 마이페이지 부분을 

띄우고싶으면 마이페이지의 url 이라던가..말이죠..

거의 이부분에 대해선 처음다뤄보는지라, 구글링하면서 이해하고 공부하고있습니다만, 안펍 분들에게도 조언을 듣고싶어서 글올려봤습니다. 긴글 읽어주셔서 감사합니다..^^

 
anci (19,950 포인트) 님이 2014년 7월 31일 질문

1개의 답변

+1 추천
url은 로그인 데이터를 넘겨서 로그인을 하기위한 url이 됩니다.

form 태그의 액션 값이 그 url입니다.
원조안드로이드 (58,190 포인트) 님이 2014년 7월 31일 답변
아, 답변 감사합니다 ㅠㅠ
혹시 한가지 더 여쭤봐도 될까요?
해당 홈페이지에서 id값을 넣는 폼을 요소를 확인해보니 다음과 같이 되어있습니다.
<input type="text" name="LoginID" class="input" style="width:110px;" maxlength="10" tabindex="1"> 네임이 로그인아이디인거 봐선 여기에 로그인할 아이디를 입력하는 게 맞는거같은데요, [최대길이 10]

String postData = "id='editText에 입력한 아이디값'&pw='editText에입력한 패스워드값' "; 에서 해당 url에 입력한 아이디 값을 넘기러면,
editText에 입력한 아이디값은 editText에 입력된 값을 getString해서 가져오면 되는데 , 앞에 id 이부분은..LoginID로 지정해야 하는건가요..?
예 맞습니다. input 태그의 name 속성을 그대로 넘겨주면 됩니다.
즉, LoginID=xxxx&
감사합니다..일단 그 부분까지 완성을 했는데..로그인 반응이 없네요.
제가 잘못생각하고있는건지... 지금 제가 사용하고 있는게 class하나랑 xml하나 뿐이거든요..요소보기로 자바스크립트에 사용한 값만 제가 본거구요.. 해당 사이트엔 제가 가입을 해놓은지라, 이렇게 하면 폰에서도 로그인이 될거라 생각했는데 안되네요..아직 제가 이해를 못한걸까요;
editText ,button 등의 소스를 작성한 class파일, 레이아웃 xml하나 만 이용해서 로그인을 해보려고 했는데말이죠..;;
...