tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
7
ZUGRIFFE
373
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    eaglestar eaglestar ist offline Mitglied Bronze
    Registriert seit
    Jan 2009
    Beiträge
    26
    Hi und Hallo,

    ist es möglich den Content-String auszulesen der beim Absenden eines Formulars per POST entsteht?
    Ich kann nur die Content-Length auslesen, aber wie bekomme ich den eingentlichen Content?

    Also so in etwa:

    Seite1: Formular speichern wird gedrückt
    *** Gesendeter Content wird ausgelesen ***
    Seite2: Folgeseite wird angezeigt

    P.S.
    Ich möchte NICHT den HTML-Code der jeweiligen Seiten auslesen.


    Gruß
    eagle
     

  2. #2
    Kryptaesthesie Kryptaesthesie ist offline Mitglied Gold
    Registriert seit
    Feb 2005
    Ort
    127.0.0.1
    Beiträge
    189
    meinst du evtl.
    Code :
    1
    
    request.getQueryString()
    ?
     

  3. #3
    eaglestar eaglestar ist offline Mitglied Bronze
    Registriert seit
    Jan 2009
    Beiträge
    26
    Code :
    1
    
    request.getQueryString()

    Funktioniert ja nur bei jsp-Seiten!?

    Ich habe ein Konsolenprogramm, dass ein Formular auf einer Internetseiteb befüllt und automatisch absendet.
    Nur was genau gesendet wird sehe ich nicht.
    Also welcher String an den Server übergeben wird.
     

  4. #4
    Avatar von Oliver Gierke
    Oliver Gierke Oliver Gierke ist offline Mitglied Rubin
    Registriert seit
    Dec 2003
    Ort
    Mannheim
    Beiträge
    1.457
    Du kannst dir die Payload per request.getInputStream() holen und in einen String lesen.

    Gruß
    Ollie
     
    In theory, there is no difference between theory and practice. In practice, there is!

    www.olivergierke.de

  5. #5
    eaglestar eaglestar ist offline Mitglied Bronze
    Registriert seit
    Jan 2009
    Beiträge
    26
    Genau das verusche ich ja.
    Aber ich bekomme nur die HTML-Seite angezeigt/ausgelesen:

    Hier mal mein Code:
    Code java:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    
                URL proxyURL = new URL("internetadresse");
                HttpURLConnection Con = (HttpURLConnection) proxyURL.openConnection ();
                proxyURLCon.setRequestMethod("POST");
                proxyURLCon.setDoOutput(true);
                proxyURLCon.setUseCaches(false);
                proxyURLCon.setRequestProperty("Cookie", cookie);
    OutputStreamWriter out = new OutputStreamWriter(Con.getOutputStream());
                out.flush(); //Sendet formulardaten
                out.close();
                BufferedReader in = new BufferedReader(new InputStreamReader(proxyURLCon.getInputStream()));            
                String line;
                String htmlInhalt ="";
                while ((line = in.readLine()) != null) {
                    htmlInhalt += line;  //schreibt gesendete FormularString
                }
                System.out.println(htmlInhalt);
     

  6. #6
    Avatar von Oliver Gierke
    Oliver Gierke Oliver Gierke ist offline Mitglied Rubin
    Registriert seit
    Dec 2003
    Ort
    Mannheim
    Beiträge
    1.457
    Aso... ich dachte du wärst Serverseitig... was du da liest ist der Response, nicht der Request. Ich kann dir nur raten dass nich t auf Händen un Knien zu versuchen, sondern dir HttpClient von Apache Commons anzuschauen, damit geht das mit sicher einfacher.

    REINHAUN!
     
    In theory, there is no difference between theory and practice. In practice, there is!

    www.olivergierke.de

  7. #7
    eaglestar eaglestar ist offline Mitglied Bronze
    Registriert seit
    Jan 2009
    Beiträge
    26
    Ach viel schlimmer...mein Programm ist schon fast fertig und ich habe nirgends HTTPClient verwendet.
    Daher macht es wenig Sinn es jetzt einzubauen.
    Die Software für das Webinterface vom Server bekommt Ende des Jahres ein Update spendiert und dann kann ich all diese Veränderungen über JAXB machen.

    Werde dann wohl doch die Blutige-Knie-Variante wählen -.-
     

  8. #8
    eaglestar eaglestar ist offline Mitglied Bronze
    Registriert seit
    Jan 2009
    Beiträge
    26
    So die Knie sind offen

    NICHT NACHMACHEN

    Code java:
    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
    58
    59
    60
    61
    62
    63
    
    BufferedReader in = new BufferedReader(new InputStreamReader(erstellteURLConnection.getInputStream()));             
                String line;
                String htmlInhalt ="";
                while ((line = in.readLine()) != null) {
                    htmlInhalt += line;
                }
                //System.out.println(htmlInhalt);
                //rules,hosts und ports
                String rule = "";
                String inputRule = "input name=\"rule";
                String host = "";
                String inputHost = "input name=\"host";
                String port = "";
                String inputPort = "input name=\"port";
                String value = "value=\"";
                String proxys = "";
                int i = 0;
                int valueStart = 0;
                int valueEnde = 0;
                int posImString = 0;
                int htmlInhaltLange = htmlInhalt.length();
                
                //while(posImString <= htmlInhaltLange){
                while(posImString != -1){
                    //inputFeld rule finden
                    valueStart = valueStart + htmlInhalt.substring(valueStart).indexOf(inputRule);
                    //value aus dem inputFeld rule finden
                    valueStart += htmlInhalt.substring(valueStart).indexOf(value);
                    //zum Wert von value springen
                    valueStart = valueStart+value.length();
                    //Ende des Werts bestimmen
                    valueEnde = valueStart + htmlInhalt.substring(valueStart, htmlInhaltLange).indexOf("\"");
                    
                    System.out.println("rule"+ i +": " + htmlInhalt.substring(valueStart, valueEnde));
                    
                    //inputFeld host finden
                    valueStart = valueStart + htmlInhalt.substring(valueStart).indexOf(inputHost);
                    //value aus dem inputFeld host finden
                    valueStart += htmlInhalt.substring(valueStart).indexOf(value);
                    //zum Wert von value springen
                    valueStart = valueStart+value.length();
                    //Ende des Werts bestimmen
                    valueEnde = valueStart + htmlInhalt.substring(valueStart, htmlInhaltLange).indexOf("\"");
                    
                    System.out.println("host"+ i +": " + htmlInhalt.substring(valueStart, valueEnde));
                    
                    //inputFeld port finden
                    valueStart = valueStart + htmlInhalt.substring(valueStart).indexOf(inputPort);
                    //value aus dem inputFeld host finden
                    valueStart += htmlInhalt.substring(valueStart).indexOf(value);
                    //zum Wert von value springen
                    valueStart = valueStart+value.length();
                    //Ende des Werts bestimmen
                    valueEnde = valueStart + htmlInhalt.substring(valueStart, htmlInhaltLange).indexOf("\"");
                    
                    System.out.println("port"+ i +": " + htmlInhalt.substring(valueStart, valueEnde));
                    
                    
                    //proxys +="&rule"+i+"="+rule+"&host"+i+"="+host+"&port"+i+"="+host;
                    i++;
                    posImString = htmlInhalt.substring(valueStart).indexOf(inputRule);
                }
                System.out.println("ENDE der WhileSchleife");

    Nun muss ich mir nurnoch den String zusammen basteln und in UTF8 umwandeln...das ist aber kein Problem.


    Gruß
    eagle
     

Ähnliche Themen

  1. Navigation mit Content - wie auf der Seite im Post?
    Von ArthurDent im Forum Javascript & Ajax
    Antworten: 0
    Letzter Beitrag: 16.09.10, 10:15
  2. Select-Box: Value & Content auslesen
    Von Mik3e im Forum Javascript & Ajax
    Antworten: 7
    Letzter Beitrag: 30.08.10, 14:32
  3. Post Request auslesen
    Von Templorials im Forum PHP
    Antworten: 3
    Letzter Beitrag: 10.04.10, 00:02
  4. Content einer POST Datei ermitteln
    Von emptynick im Forum PHP
    Antworten: 1
    Letzter Beitrag: 02.12.07, 00:28
  5. last post auslesen...
    Von Headymaster im Forum Relationale Datenbanksysteme
    Antworten: 3
    Letzter Beitrag: 26.11.06, 12:09