[Java] HTML Formular absenden

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von b-xXx, 28. März 2009 .

  1. 28. März 2009
    HTML Formular absenden

    heyho,

    bin java-anfänge und wollt mich nun mal an ein Programm wagen, welches aufs internet zugreift.
    im endeffekt hab ich eine GUI mit einem menü , login-inputs (username, pw + button)
    das programm soll dann diese daten dann per post oder get an eine internetseite schicken.

    so nun weiß ich nicht wie ich eine verbindung dahingehend aufbaue, geschweige denn wie ich überprüfe ob eine internetverbindung besteht etc.

    also ich will keine fertige lösung von euch haben nur vielleicht links zu tutorials oder gedanken anstöße etc. .

    hab gegoogelt, aber naja ein servlet muss es nich sein und applet denke ich auch nicht.. was anderes ist mir aber noch nicht bekannt.

    Danke!
     
  2. 28. März 2009
    AW: HTML Formular absenden

    Also wenn du eine Internetverbindung aufbauen willst und einen Request zu einer Webseite absenden willst empfehle ich dir den Java HTTPClient. Mit diesem kannst du sowohl GET als auch POST(also ein Formular) Parameter absenden. Hier habe ich dir mal den HTTPClient inklusive den notwendigen Libaries hochgeladen. http://rapidshare.com/files/214501024/HTTPClient_commonLibs.zip. Diese musst du dann einbinden.

    Unter Eclpise bindest du diese wie folgt ein:
    - rechtsklick auf Projekt -> Properties
    - Java Build Path -> Libaries -> Add JARs oder Add external JARs

    Einen Request sendest du dann so ab:

    PHP:
    HttpClient client  = new  HttpClient ();
    PostMethod method  = new  PostMethod ( "http://suchmaschine.de" );
    method . addParameter ( "suchbegriff" "raid-rush" );
    method . addParameter ( "sprache" "deutsch" );

    int statusCode  0 ;
    StringBuffer inputString  null ;                

    try {
        
    statusCode  client . executeMethod ( method );
    } catch (
    HttpException w ) {
        
    w . printStackTrace ();
    } catch (
    IOException w ) {
        
    w . printStackTrace ();
    }
    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" );
            }
        } catch (
    IOException w ) {
            
    w . printStackTrace ();
        }
        
    method . releaseConnection ();
                        
        
    // Ausgabe der Response
        
    System . out . println ( inputString );
    }

    Ich hoffe ich konnte dir weiterhelfen. Hier noch mehr infos zum HTTPClient : http://hc.apache.org/httpclient-3.x/

    Grüßle frankred
     
  3. 28. März 2009
    AW: HTML Formular absenden

    dank dir .. naja dachte eclipse oder JAVA hat da von haus aus irgendwas kleines schnelles.. einfacher import.. nötigen methoden deklarierne und fertig^^..

    naja werd ich mich mal durchwursteln am WE

    bw hast du
     
  4. 29. März 2009
    AW: HTML Formular absenden

    Ich weiss nicht, ob du dass schon kennst:

    Galileo Computing :: Java ist auch eine Insel - index

    Damit kannst du natürlich relativ leicht Get-Variablen übergeben und ggf. noch etwas mit der Serverausgabe anfangen. Ich weiss nicht, ob diese simple Version für deine Zwecke bereits aussreicht. Sonst hat der Vorposter bereits eine weitere Alternative genannt.
     
  5. 14. April 2009
    AW: HTML Formular absenden

    so bin mal dazu gekommen es zu testen. aber so richtig schnall ich das nicht.. kannst du mal den quelltext kommentieren?
     
  6. 14. April 2009
    AW: HTML Formular absenden

    weiß nicht ob du das meintest?
    PHP:
    // Erzeuge einen HTTPClient
    HttpClient client  = new  HttpClient ();

    // Post Methode erzeugen action URL = http://suchmaschine.de
    PostMethod method  = new  PostMethod ( "http://suchmaschine.de" );

    // Request Parameter werden hinzugefügt
    method . addParameter ( "suchbegriff" "raid-rush" );
    method . addParameter ( "sprache" "deutsch" );

    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 );
    } catch (
    HttpException w ) {
        
    w . printStackTrace ();
    } catch (
    IOException w ) {
        
    w . printStackTrace ();
    }
    // 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" );
            }
        } catch (
    IOException w ) {
            
    w . printStackTrace ();
        }
        
    // Verbindung wir geschlossen (denke ich mal :) )
        
    method . releaseConnection ();
                        
        
    // Ausgabe der Response
        
    System . out . println ( inputString );
    }

    Bezüglich der schnelligkeit kann ich dir leider nichts sagen, ich war immer mit der Response Zeit sehr zufrieden
     
  7. 15. April 2009
    AW: HTML Formular absenden

    jop aber irgendwie meckert eclipse bei method.addParameter
     
  8. 15. April 2009
    AW: HTML Formular absenden

    hi ho,

    könntest du es mal ein bisschen genauer beschreiben, denn es kann an mehreren gründen liegen.
    vllt hast du auch den falschen import, was ich mir eigentlich nicht vorstellen kann.

    er müsste ungefähr so aussehen.
    Code:
    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
    
    import org.apache.commons.httpclient.HttpClient;
    import org.apache.commons.httpclient.HttpException;
    
    import org.apache.commons.httpclient.methods.PostMethod;
    
    poste mal bitte, was eclipse genau sagt, bzw. was für eine exception kommt.
    es könnte auch daranliegen, dass eclipse keinen zugriff auf´s internet hat.


    nice day!!!
     
  9. 15. April 2009
    AW: HTML Formular absenden

    komisch heute gehts..ich melde mich mal bei weiteren problemen.

    edit:
    also das programm soll eine eigene surfbar für ebesucher.de werden

    will halt login haben, die daten an die seite schicken.. falls eingeloggt ist sollen dann durch quelltext parsern die punkte ausgelesen werden und die surfbar gestartet werden.. nur will ich eben, das popups etc. unterdrückt werden

    oder macht sich dafür jav schlecht?

    und sollte lieber delphi o.ä. nehmen?

    habe 3 klassen 1. halt die gui mit den action handlern
    2. die den quelltext parsert
    3. halt der verbindgunsaufbau zu der seite für den login.

    was muss hier genau rein:
    PostMethod method = new PostMethod("http://suchmaschine.de");

    die seite worauf das action element des formulars zeigt oder nur die url, wo sich das formular befindet
     
  10. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.