S
Sgoda
Gast
Hallo zusammen,
ich bin dabei ein Programm zu schreiben, das u.a. einem PHP Script eines Boards, das auf dem PHPBB3 basiert, Daten senden soll.
Dies mache ich mit folgender Methode (nutzt die HttpClient Klassen der Jakarta Commons:
Dadurch sollte das Script einer Datenbank einen neuen Eintrag hinzufügen und eine Statusmeldung ohne jeglichen HTML Code ausgeben.
Stattdessen erhalte ich jedoch den HTML Code einer Seite, die erscheint wenn man diese Aktion durchführt ohne eingeloggt zu sein.
Wenn ich jedoch ein falsches Passwort oder einen nicht-existenten Usernamen verwende, erhalte ich einfach nur [], was so auch sein soll.
Der Fehler liegt nicht im PHP Script, denn wenn man das Ganze per Hand macht, funktioniert es.
Ich habe sowohl eine Variante mit POST, als auch eine mit GET ausprobiert, da beides vom Script unterstützt wird, erhalte aber bei beidem das gleiche Ergebnis.
Mit der GET Methode habe ich den String "username=Sgoda&pass=PASSWORT&action=add_ress&koor=595|321&comment=" per HttpConnection und OutputStream an die im Code enthaltene URL gesendet.
Insofern denke ich, dass der Fehler in meiner Methode liegt und hoffe, dass mir jemand von euch helfen kann.
Gruß,
Sgoda
ich bin dabei ein Programm zu schreiben, das u.a. einem PHP Script eines Boards, das auf dem PHPBB3 basiert, Daten senden soll.
Dies mache ich mit folgender Methode (nutzt die HttpClient Klassen der Jakarta Commons:
Code:
static void send(String data){
HttpClient client = new HttpClient();
PostMethod method = new PostMethod("http://localhost/dsphpbb/ajax.php");
try{
NameValuePair username = new NameValuePair("username", "Sgoda");
NameValuePair pass = new NameValuePair("pass", "PASSWORT");
NameValuePair action = new NameValuePair("action", "add_res");
NameValuePair koor = new NameValuePair("Koor", "595|321");
NameValuePair comment = new NameValuePair("comment", "");
method.setRequestBody(
new NameValuePair[] {username, pass, action, koor, comment});
client.executeMethod(method);
System.out.println("Login form post: " + method.getStatusLine().toString());
byte[] responseBody = method.getResponseBody();
System.out.println(new String(responseBody));
}
catch (HttpException e) {
System.err.println("Fatal protocol violation: " + e.getMessage());
e.printStackTrace();
}
catch (IOException e) {
System.err.println("Fatal transport error: " + e.getMessage());
e.printStackTrace();
}
finally {
method.releaseConnection();
}
}
Dadurch sollte das Script einer Datenbank einen neuen Eintrag hinzufügen und eine Statusmeldung ohne jeglichen HTML Code ausgeben.
Stattdessen erhalte ich jedoch den HTML Code einer Seite, die erscheint wenn man diese Aktion durchführt ohne eingeloggt zu sein.
Wenn ich jedoch ein falsches Passwort oder einen nicht-existenten Usernamen verwende, erhalte ich einfach nur [], was so auch sein soll.
Der Fehler liegt nicht im PHP Script, denn wenn man das Ganze per Hand macht, funktioniert es.
Ich habe sowohl eine Variante mit POST, als auch eine mit GET ausprobiert, da beides vom Script unterstützt wird, erhalte aber bei beidem das gleiche Ergebnis.
Mit der GET Methode habe ich den String "username=Sgoda&pass=PASSWORT&action=add_ress&koor=595|321&comment=" per HttpConnection und OutputStream an die im Code enthaltene URL gesendet.
Insofern denke ich, dass der Fehler in meiner Methode liegt und hoffe, dass mir jemand von euch helfen kann.
Gruß,
Sgoda