Hallo zusammen,
ich versuche mich manuell in mein Vorlesungsverzeichnis der Uni einzuwählen.
Ich benutze dazu einen DefaultHTTPClient und einen HTTPPost, der die Url mitbekommt.
Beim HTTPPost hab ich jetzt meine Probleme. Wie setzte ich die Header-Daten oder wie die Nutzdaten?
Mit LiveHTTPHeaders und Firefox weiß ich, dass der Benutzername und das Passwort als Nutzdaten im HttpPost mitgereicht werden. Wenn ich aber nun httppost.addHeader() baue und dann httppost.setEntitity(...) benutze und das ganze vom Client ausführen lassen, bekomme ich null zurück :\
Das ist mein aktueller Code. der liefert aber nur ein StatusCode 200 zurück, jedoch bin ich danach nicht eingeloggt !!
In Zeile 20 will ich die Nutzdate übergeben, aber das ist aktuell nonsense. Schreibe ich es nach addHeaders und setEntitiy um, ist es ja null....
String content = HTTP_POST_CONTENT.replace("_USER_", mEditTextUser.getText().toString());
content = content.replace("_PASSWORD_", mEditTextPassword.getText().toString());
HttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(LSF_LOGINPAGE);
HttpResponse httpResp = null;
List<NameValuePair> postParameters = new ArrayList<NameValuePair>();
postParameters.add(new BasicNameValuePair("Host", LSF_HOST));
postParameters.add(new BasicNameValuePair("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:11.0) Gecko/20100101 Firefox/11.0"));
postParameters.add(new BasicNameValuePair("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"));
postParameters.add(new BasicNameValuePair("Accept-Language", "de-de,de;q=0.8,en-us;q=0.5,en;q=0.3"));
postParameters.add(new BasicNameValuePair("Accept-Encoding", "gzip, deflate"));
postParameters.add(new BasicNameValuePair("DNT", "1"));
postParameters.add(new BasicNameValuePair("Connection", "keep-alive"));
postParameters.add(new BasicNameValuePair("Referer", "https://lsf.uni-duesseldorf.de/qisserver/servlet/de.his.servlet.RequestDispatcherServlet?state=user&type=0"));
postParameters.add(new BasicNameValuePair("Content-Type", "application/x-www-form-urlencoded"));
postParameters.add(new BasicNameValuePair("Content-Length", content.length()+""));
postParameters.add(new BasicNameValuePair("", content));
try {
httpPost.setEntity(new UrlEncodedFormEntity(postParameters));//new StringEntity(content));
} catch (Exception e){
Log.e("UnsupportedEncodingException",e.getMessage(),e);
}
String cookie ="";
try {
httpResp = httpClient.execute(httpPost);
if (httpResp.getEntity() != null){
httpResp.getEntity().consumeContent();
}
Log.d("Code",httpResp.getStatusLine().toString());
Header[] h = httpResp.getAllHeaders();
for (Header s:h){
if (s.getName().equals("Set-Cookie")){
String[] tmp = s.getValue().split("; Path=");
cookie = tmp[0];
}
}
} catch (ClientProtocolException e) {
Log.e("ClientProtocolException",e.getMessage(),e);
} catch (IOException e) {
Log.e("IOException",e.getMessage(),e);
}
Alles anzeigen