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을 수행하려고합니다. 아무도 나를 도와 줄 수 있니? 내가 뭘 잘못하고 있니? 고맙습니다
Chrome 개발자 도구와 같은 것을 사용하여 서버로 통화 흐름을 추적하는 것이 좋습니다. 도구를 열고 실행하면 일반 웹 페이지를 사용하여 서버에 로그인하고 전송해야하는 실제 호출을 모니터링 할 수 있습니다. – Perception