Frage von MaXXi1502, 22

Android HttpConnection fehler?

Hallo meine App, welche zu Login daten an einen Webserver leitet, gibt mir, egal was ich eingebe Success zurück, obwohl die Daten falsch sind und der Server dies auch meldet. Kann mir vielleicht jemand sagen wo der Fehler liegt?

public class Webserver_Connection extends AsyncTask<String, Void, String>{

/** Attribute, um verbindung zum Webserver aufzubauen */
private String server_url;
private String page;
private String parameterliste;

/** Variablen für den Webserver*/
private HttpURLConnection connection;
private OutputStreamWriter request = null;
private URL url = null;   
private String response = null;         

/**
 * Methode, die die Daten für den Request an den Webserver entgegen nimmt und verarbeitet.
 * 
 * @param p
 *            : PHP-Seite, an die der Request gerichtet
 *            ist(bsp.:Register.php)
 * @param params_name
 *            : Attributnamen der Attribute in den entsprechenden Php Seiten
 *            für die übergebenden Parameter
 * @param params_value
 *            : Werte, die zum eintragen/vergleichen an den Webserver
 *            gesendet werden.(Bsp.: Username oder Passwort)
 * @param context
 *            : Kontext der Aufrufenden Klasse
 */
public void setData(String p, ArrayList<String> params_name,
        ArrayList<String> params_value, final Context context) {

    page = p;
    server_url = "<a href="http://tut-nichts-zur-sache">http://tut-nichts-zur-sache</a>" + page;


    Log.i("Webserver_Connection", "Anfrage an Server: " + server_url + "\nParameter: " + parameterliste);
    
    //Anfrage an Server in AsyncTask senden
    new Webserver_Connection().execute(server_url, parameterliste); 
     
}

@Override
protected String doInBackground(String... params){ 
try  {
        
        url = new URL(params[0]);
        connection = (HttpURLConnection) url.openConnection();
        connection.setDoOutput(true);
        connection.setRequestMethod("POST");    

        request = new OutputStreamWriter(connection.getOutputStream());
        request.write(params[1]);
        request.flush();
        request.close();  
        
        String line = "";               
        InputStreamReader StreamReader = new InputStreamReader(connection.getInputStream());
        BufferedReader reader = new BufferedReader(StreamReader);
        StringBuilder sb = new StringBuilder();
        while ((line = reader.readLine()) != null)
        {
            sb.append(line + "\n");
        }   
        
        response = sb.toString();     
        StreamReader.close();
        reader.close();
        
        Log.w("Webserver_Connection", "Serverantwort: " + response);

     }
     catch(IOException e){
      e.printStackTrace();
     }      
    return response;
}

Das "erzeugen" der Parameterliste wurde hier weggelassen. Ist aber mit logs geprüft, und geht auch.

Keine passende Antwort gefunden?

Fragen Sie die Community