2013-01-08 1 views
0

HttpPost 메서드를 통해 HttpClient를 사용하여 간단한 로그인을 제공해야합니다. 이것은 내가 가지고있는 것입니다 :로그인하지 않는 HttpPost 메소드를 수행하는 방법. 어떤 매개 변수를 게시물에 보내야합니까? 어떻게 응답을 얻을 수 있습니까?

DefaultHttpClient httpclient = new DefaultHttpClient(); 

String url = "http://10.20.128.47/ilias/ilias.php?lang=de&client_id=0001&cmd=post&cmdClass=ilstartupgui&cmdNode=jt&baseClass=ilStartUpGUI&rtoken="; 

List<NameValuePair> formparams = new ArrayList<NameValuePair>(); 
formparams.add(new BasicNameValuePair("username", "client01")); 
formparams.add(new BasicNameValuePair("password", "client01")); 

UrlEncodedFormEntity entity = new UrlEncodedFormEntity(formparams, "UTF-8"); 
HttpPost httppost = new HttpPost(url); 
httppost.setEntity(entity); 

그것은 작동하지 않는 것 같습니다. 해당 로그인 페이지의 html 코드에서 "action ="- url을 사용하고 있습니다. 나는 문제없이 HttpGet을 할 수있다.

HttpGet httpget = new HttpGet(url); 

HttpResponse response = httpclient.execute(httpget); 

BufferedReader rd = new BufferedReader(new InputStreamReader(response.getEntity().getContent())); 

String line = ""; 

while ((line = rd.readLine()) != null) { 
    System.out.println(line); 
} 

이렇게하면 내가 원하는 로그인 페이지가 표시됩니다. 그래서 내가 로그인 할 HttpPost 방법을 수행하고 로그인 한 사용자의 http 코드를 제공하는 HttpGet을 수행하려고합니다. 아무도 나를 도와 줄 수 있니? 내가 뭘 잘못하고 있니? 고맙습니다

+1

Chrome 개발자 도구와 같은 것을 사용하여 서버로 통화 흐름을 추적하는 것이 좋습니다. 도구를 열고 실행하면 일반 웹 페이지를 사용하여 서버에 로그인하고 전송해야하는 실제 호출을 모니터링 할 수 있습니다. – Perception

답변

0

당신은

응답 = HttpClient를 .Execute를 (httppost)를 호출하는 것을 잊지 있습니까;

관련 문제