#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! + Multi-Zitat Zitieren
#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 + Multi-Zitat Zitieren
#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 + Multi-Zitat Zitieren
#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. + Multi-Zitat Zitieren
#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? + Multi-Zitat Zitieren
#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 + Multi-Zitat Zitieren
#7 15. April 2009 AW: HTML Formular absenden jop aber irgendwie meckert eclipse bei method.addParameter + Multi-Zitat Zitieren
#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!!! + Multi-Zitat Zitieren
#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 + Multi-Zitat Zitieren