tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
1
ZUGRIFFE
805
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Orex Orex ist offline Mitglied
    Registriert seit
    Jul 2008
    Beiträge
    14
    Hi hab versucht mich auf einer Seite einzuloggen. Funktioniert alles. Bekomm aber nen 303 (für alle die nich wissen was ich meine http://www.checkupdown.com/status/E303.html) als Status.
    Versuche mich gerade Testweise auf meinem Joomla TestBackend einzuloggen.
    Glaub ich mach grundsätzlich was falsch...

    Gekürzter und kommentierter Code.

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    
     
    _login(GetSomethingFromUrl("value=\"1\"","http://nmkfs.de/joomla_test/administrator/index.php"));      
     
    //GetSomethingFromUrl liest eine seite aus und extrahiert aus der Loginform den jeweiligen Token... Die funktion Funktioniert einwandfrei...
            
     
     
    public static void _login(String token){
     
            
     
     
        // Erzeuge einen HTTPClient
        HttpClient client = new HttpClient();
     
        // Post Methode erzeugen 
        PostMethod method = new PostMethod("http://nmkfs.de/joomla_test/administrator/index.php");
     
        method.setRequestHeader("User-Agent","Mozilla/4.0 (compatible; MSIE 6.0; Windows 2000)");
     
        method.getParams().setCookiePolicy(CookiePolicy.BROWSER_COMPATIBILITY);
      // Request Parameter werden hinzugefügt
        method.addParameter("username", "xxxxx");       //inputfeld <input type="text" size="15" class="inputbox" id="modlgn_username" name="username">
        method.addParameter("passwd", "xxxxx");     //inputfeld <input type="text" size="15" class="inputbox" id="modlgn_username" name="username">
        method.addParameter("option", "com_login");     //inputfeld <input type="text" size="15" class="inputbox" id="modlgn_username" name="username">
        method.addParameter("task", "login");           //inputfeld <input type="text" size="15" class="inputbox" id="modlgn_username" name="username">
        method.addParameter(token, "1");                //inputfeld <input type="text" size="15" class="inputbox" id="modlgn_username" name="username">
     
       
     
        int statusCode = 0;
        StringBuffer inputString = null;
     
            try {
                // Ausführen des Requests , Seite wird angefordert
                // zurückgegeben wird ein statusCode der dir sagt ob der Request / Response erfolgreich war
                statusCode = client.executeMethod(method);
                System.out.println(statusCode);
           
     ... // ERROR wird gecatched
     
       // Falls Request/Response erfolgreich lese den Response aus und schreibe diesen Zeile für Zeile in einen Stringbuffer
        if (statusCode != -1) {
            try {
                String line;
                BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(method.getResponseBodyAsStream()));
                inputString = new StringBuffer();
                    while ((line = bufferedReader.readLine()) != null) {
                        inputString.append(line + "\n");
                    }
            }
           ... // ERROR wird gecatched und Verbindung geschlossen
    }
                           
                            
                    
    }

    Der Code gibt keine Fehlermeldung. Ich bekomme nur den HTML ERROR CODE... Ich glaube ich habe was grundsätzliches nicht verstanden oder falsch gemacht.

    Wär cool wenn wer was wüsste...
     

  2. #2
    Orex Orex ist offline Mitglied
    Registriert seit
    Jul 2008
    Beiträge
    14
    Bin beim Googlen auf zwei Sachen gestoßen...

    303 = See Other = Die angeforderten Daten sind unter einem angegebenen URI verfügbar und sollten von dort mit Hilfe der get-Methode angefordert werden. Dieser Status-Code ist für CGI-Scripts gedacht, die mit der post-Methode aufgerufen wurden und den Browser auf eine andere Ressource lenken wollen, die mit der get-Methode angefordert werden soll.

    Bzw. das:

    http://www.theserverside.com/news/13...ect-After-Post

    Also ich weiss was das Problem ist. Nur reicht es leider nicht die Seite danach nochmal mit GET aufzurufen..... Wie müsste ich das umsetzten?
    Vielen Dank schonmal wenn wer was weiss
     

Ähnliche Themen

  1. Antworten: 18
    Letzter Beitrag: 27.10.11, 15:21
  2. Antworten: 7
    Letzter Beitrag: 30.12.10, 15:05
  3. Apache HttpClient - Cookie-Problem
    Von Julian-w im Forum Java
    Antworten: 1
    Letzter Beitrag: 14.03.09, 14:00
  4. httpclient
    Von jiim im Forum Java
    Antworten: 5
    Letzter Beitrag: 19.02.09, 09:45
  5. HttpClient von Apache
    Von ATha1 im Forum Java
    Antworten: 1
    Letzter Beitrag: 11.07.06, 11:15

Stichworte