Input/Output Formular absenden und Quelltext auslesen

rahan

Mitglied
Hey Java Junkies,

ich weiß nicht ob Ihr nur in euren Fach gut seit, oder ob ihr mir auch bei meinen Thema helfen könnt. :)
Wäre jedenfalls sehr dankbar.

Also die Webseite Fondsboerse hat ihre Homepage umgestellt. Ich hatte vorher ein Javaprogramm geschrieben, was mir anhand der Fondssuche alle Schiffsfonds oder Immobilienfonds zurückgibt um sie aufzulisten.

Ich hatte es vorher einfach so gemacht, dass ich eine URL mit den Formularparameter gebastelt habe und diese aufgerufen hab.
Java:
 URL url = new URL(SchiffeURL);
		    URLConnection conn = url.openConnection();	
	
		    //Der Pufferreader ließt den Quellcode der Webseite zeilenweise ein.
		    BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream(),"UTF-8"));
		    
		    //Erst mal den Quelltext zusammenpacken
		    String strQuelltext = "";
		    String line = "";
		    
		    while ((line = rd.readLine()) != null) {
		    	strQuelltext +=line;
		    }

Aber genau dieses URL zusammenbauen macht mir Probleme. Die Webseite https://service.zweitmarkt.de/Handel/Fondsliste.aspx ist eine aspx Webseite und ich raff einfach nicht wie dort das Formular funktioniert. Weiß jemand von euch wie ich z.B. in Java die Webseite aufrufen kann mit den Parameterm Fondsart = Schiff und Anzahl Datensätze= 50 (unterhalb der Liste) und mir den Quelltext geben lasse? Vielleicht geht auch keine get übertragen, sondern nur post.

Gruß Rahan
 

HimBromBeere

Top Contributor
Du musst doch einfach nur die URL in deinem Browser mit Parametern eintippen, funktioniert dies, ist GET erlaubt, geht´s nicht, wird nur POST unterstützt.
 
N

nillehammer

Gast
Hab mir die Seite angeschaut. Je nachdem, wie strikt der Server die Requests prüft, kommst Du mit GET nicht weiter. Der Parameter "viewState" enthält zu viele Daten, um sie in einen URL-Parameter zu packen. Du solltest Dir also einen POST-Request zusammen basteln. Dabei unterstützen Dich Libraries wie die hier: HttpComponents HttpClient Overview

Kann sein, dass Du den Parameterflow etwas genauer untersuchen musst, da wird nämlich einiges mit JavaScript zusammengebastelt. Dabei finde ich HTTP-Requestanalyse Plugins für den Firefox ganz hilfreich. Du lädtst die Seite, schickst eine Suchanfrage ab, der Analyser zeigt Dir an, was als HTTP-Request gesendet wird. Das kannst Du dann in Java nachbauen.
 

rahan

Mitglied
Hallo nillehammer,

kannst du mir noch mal helfen. Es wird langsam dringend.
Also ich hab mit httpfox mir die Parameter angeschaut die Übertragen werden.
Und versucht diese in eine Post Anweisung zu Packen. Aber die Ausgabe ist, als hätte ich keine Eingaben gemacht. Es ist nicht gefiltert, es sind nur 10 Datensätze.

Ich kann ja mal mein Java Posten:
Java:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.HttpURLConnection;
import java.net.URL;


public class testOneFondsboersePage {

	/**
	 * @param args
	 * @throws IOException 
	 */
	public static void main(String[] args) throws IOException {
		testOnePage2("https://service.zweitmarkt.de/Handel/Fondsliste.aspx");

	}

    public static int myRandom(int low, int high) {  
        return (int) (Math.random() * (high - low) + low);  
    }  
    
	public static void testOnePage2(String strLink) throws IOException{
		
		//Für den Button Suchen
		String x = Integer.toString(myRandom(2,94));
		String y = Integer.toString(myRandom(2,21));
		
		//Das Formular wird in Post abgesendet
		URL uUrl = new URL(strLink);
		//String body = "ctl00$ContentPlaceHolder1$CboInitiator=Alle&ctl00$ContentPlaceHolder1$RadComboBoxFondsart=Schiff&ctl00$ContentPlaceHolder1$RadComboBoxFondstyp=Alle&ctl00$ContentPlaceHolder1$RadGridFondliste$ctl00$ctl03$ctl01$PageSizeComboBox=50&ctl00$ContentPlaceHolder1$ImageButton1.x="+x+"&ctl00$ContentPlaceHolder1$ImageButton1.y="+y;
		String body="RadStyleSheetManager1_TSSM=;Telerik.Web.UI, Version=2012.1.215.40, Culture=neutral, PublicKeyToken=121fae78165ba3d4:de-DE:b29b07e8-2c1e-44e5-9e1b-59bb6459fb01:1c2121e:9e1572d6:ed2942d4:45085116"
					+"&RadScriptManager1_TSM=;;System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35:de-DE:89093640-ae6b-44c3-b8ea-010c934f8924:ea597d4b:b25378d2;Telerik.Web.UI:de-DE:b29b07e8-2c1e-44e5-9e1b-59bb6459fb01:16e4e7cd:f7645509:22a6274a:24ee1bba:f46195d3:2003d0b8:1e771326:aa288e2d:58366029:e330518b:c8618e41:e4f8f289:ed16cbdc"
					+"&__EVENTTARGET="
					+"&__EVENTARGUMENT="
					//VIWÈWSTATE macht das ganze zulang
					+"&__PREVIOUSPAGE=EHJkweG_vbhu-kT5lk0EOvqmSnELS8YuhwRlLqDOJwjWq19VfHzBxArMxJj1ZLwOXA2wx27KUW_l3lV4IAXq3Gn5jk64ik4EL55LJg4bBnE1"
					+"&__EVENTVALIDATION=/wEWQAKr57aaCwL7qYWMCgLBq+GeCgKB6JW3DAKbnaqyAQKwm8CyAwK9vIn8DAKurvP6BgKuru/6BgKurvv6BgKurvf6BgKuroP7BgKurv/6BgKov4DeBAKvro+uAQKvrpOuAQKvrquuAQKvrqOuAQKvrvutAQKwrpuuAQKwrpOuAQKwrquuAQKwrvetAQKwrvutAQL/+/H8BQLGycX7DgKD08R1Ao/TnuIMApv86bICAubIra0LAoDTzK0PApLThpoLApb84egOAuvItecHAoDT1OUNApLTjtIJAvuFkb8EAsbUpM4NAsGN9fMPAtGN7+ALAvaFibcBAsvUzLEKAsGNva0OAtGNl5oKAuCFgf0FAqXU1PsOAsCNxXUC0o2f4gwC/IX5sgICydS8rQsCwY3NrQ8C0Y2HmgsC94Xx6A4CytTE5wcCwY3V5Q0C0Y2P0gkC2KmOvwQCofehzg0C+oL18w8CiIPv4AsC86mGtwECovfJsQoC+oK9rQ4CiIOXmgoSwoWItGhLAjrSPnJFOOATC3sUmhueaOIlW8dL44ICnw=="
					+"&ctl00$ContentPlaceHolder1$CboInitiator=Alle" //Alle
					+"&ctl00_ContentPlaceHolder1_CboInitiator_ClientState="
					+"&ctl00$ContentPlaceHolder1$RadComboBoxFondsart=Schiff" //Schiff
					+"&ctl00_ContentPlaceHolder1_RadComboBoxFondsart_ClientState="
					+"&ctl00$ContentPlaceHolder1$RadComboBoxFondstyp=Alle" //Alle
					+"&ctl00_ContentPlaceHolder1_RadComboBoxFondstyp_ClientState="
					+"&ctl00$ContentPlaceHolder1$ImageButton1.x="+x //Immer mal woanders auf den Button klicken
					+"&ctl00$ContentPlaceHolder1$ImageButton1.y="+y
					+"&ctl00$ContentPlaceHolder1$RadGridFondliste$ctl00$ctl02$ctl02$FilterTextBox_Fonds="
					+"&ctl00$ContentPlaceHolder1$RadGridFondliste$ctl00$ctl03$ctl01$PageSizeComboBox=50" //50 Einträge
					+"&ctl00_ContentPlaceHolder1_RadGridFondliste_ctl00_ctl03_ctl01_PageSizeComboBox_ClientState="
					+"&ctl00_ContentPlaceHolder1_RadGridFondliste_rfltMenu_ClientState="
					+"&ctl00_ContentPlaceHolder1_RadGridFondliste_ClientState=";
		
		HttpURLConnection  connection = (HttpURLConnection) uUrl.openConnection();
		connection.setRequestMethod( "POST" );
		connection.setDoInput( true );
		connection.setDoOutput( true );
		connection.setUseCaches( false );
		connection.setRequestProperty( "Content-Type",
		                               "application/x-www-form-urlencoded" );
		connection.setRequestProperty( "Content-Length", String.valueOf(body.length()) );

		OutputStreamWriter writer = new OutputStreamWriter( connection.getOutputStream() );
		writer.write( body );
		writer.flush();
		 BufferedReader rd = new BufferedReader(new InputStreamReader(connection.getInputStream(),"UTF-8"));
		//Erst mal den Quelltext zusammenpacken
	    	String strQuelltext = "";
	    	String line = "";
	    	while ((line = rd.readLine()) != null) {
	    		strQuelltext +=line+"\n";
	    	}
		System.out.println(strQuelltext);

    }

}

Ich muss danach auch noch Weiterdenken und mir die Links raussuchen. Allerdings versteh ich den Quelltext nicht wie die Links zusammengestellt sind.
 
N

nillehammer

Gast
Also Dein Code zum Absetzen des Posts sieht erstmal gut aus. Obwohl ich trotzdem dazu rate, das mit einer Library zu machen. Beim Reverse-Engeneering der Seite kannst Du keine Hilfe von mir erwarten. Das finde ich etwas zu viel verlangt.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
TheKing HTML Formular mit Java ausfüllen und absenden Java Basics - Anfänger-Themen 9
T PDF-Formula (XFDF) via Mail - Betreff mit Werten aus PDF-Formular ergänzen Java Basics - Anfänger-Themen 2
B Generische Typen für dynamisches Formular Java Basics - Anfänger-Themen 3
M Verketten von Formularfelder im PDF-Formular Java Basics - Anfänger-Themen 0
J Mit JSF Formular in Datenbank schreiben Java Basics - Anfänger-Themen 3
D Java Ausdruck erzeugen / Formular Java Basics - Anfänger-Themen 4
N Daten/Formular per POST an Firefox/Browser senden Java Basics - Anfänger-Themen 7
Z HtmlUnit click() - Formular erscheint nicht Java Basics - Anfänger-Themen 1
Y Eingabe-Formular mit JSP dynamisch machen - j/n/wie? Java Basics - Anfänger-Themen 2
C Formular in Java Java Basics - Anfänger-Themen 3
D Html Formular auswerten Java Basics - Anfänger-Themen 8
J Formular generieren Java Basics - Anfänger-Themen 7
T Servlet HTML-Formular Java Basics - Anfänger-Themen 9
K Formular für JAVA Java Basics - Anfänger-Themen 6
Benji0815 Java Passwort in Formular eingeben Java Basics - Anfänger-Themen 5
S mit clickevent neues formular öffnen Java Basics - Anfänger-Themen 2
K Rückgabe aus Formular Java Basics - Anfänger-Themen 3
U Von DB in Formular direkt oder über Objekt? Java Basics - Anfänger-Themen 2
G Formular mit abhängigen Kombinationsfeldern Java Basics - Anfänger-Themen 5
D Daten an Formular senden Java Basics - Anfänger-Themen 4
G Daten aus HTML-Formular an Java-Klasse weiterreichen Java Basics - Anfänger-Themen 7
R Zeit eingeben über Formular Java Basics - Anfänger-Themen 3
S Datei mit Java-Applikation an Web-Formular schicken Java Basics - Anfänger-Themen 9
T Formular drucken! Java Basics - Anfänger-Themen 2
G Mit Java HTML-Formular ausfüllen Java Basics - Anfänger-Themen 4
F JSP und HTML-Formular zusammen Java Basics - Anfänger-Themen 3
K Formular auslesen Java Basics - Anfänger-Themen 10
B Formular-Eingabe in ASCII-Datei speichern Java Basics - Anfänger-Themen 3
M Zugriff auf Formular Elemente Java Basics - Anfänger-Themen 7
M Html Formular Auswahlbox - ausgewählte Werte auslesen Java Basics - Anfänger-Themen 1
B jTextField bei Enter eingabe absenden? Java Basics - Anfänger-Themen 2
J UDP-Befehl absenden. Java Basics - Anfänger-Themen 16
J Quelltext mit komischen griechischen Zeichen Java Basics - Anfänger-Themen 4
J Java GUI- Objekte Position per Quelltext bestimmen Java Basics - Anfänger-Themen 4
V_Fynn03 Erste Schritte BubbleSort Quelltext funktioniert noch nicht Java Basics - Anfänger-Themen 1
F Webseiten Quelltext auslesen Java Basics - Anfänger-Themen 5
C Quelltext mit Formatierungs- und Style-Informationen versehen Java Basics - Anfänger-Themen 7
S HTML-Quelltext hinter HTTPS Java Basics - Anfänger-Themen 1
D Erste Schritte Suche Quelltext Java Basics - Anfänger-Themen 7
J QuellText Frage Java Basics - Anfänger-Themen 1
X Quelltext einen Tic Tac Toe Spiels erklären Java Basics - Anfänger-Themen 4
U Website Quelltext auslesen - Javaskripte im Hintergrund? Java Basics - Anfänger-Themen 4
T Quelltext wird nicht compiliert obwohl er Fehlerfrei ist. Java Basics - Anfänger-Themen 4
O Java will mir den Quelltext nich zu Bytecode Compilieren Java Basics - Anfänger-Themen 24
J Quelltext einer Homepage auslesen Java Basics - Anfänger-Themen 14
R Problem mit Quelltext : Kommazeichen Java Basics - Anfänger-Themen 7
E Quelltext für Grafik verschwindet Java Basics - Anfänger-Themen 9
R Quelltext sachen rausfiltern Java Basics - Anfänger-Themen 16
A Komentieren von Quelltext Java Basics - Anfänger-Themen 12
D Quelltext richtig verstanden? Java Basics - Anfänger-Themen 7
E Korrekter Quelltext? Java Basics - Anfänger-Themen 17
F HttpURLConnection Fehler beim Quelltext holen Java Basics - Anfänger-Themen 6
K Erste Schritte quelltext hilfe anfänger Java Basics - Anfänger-Themen 8
M Quelltext auslesen und diesen in einen String schreiben Java Basics - Anfänger-Themen 3
G Internet-Zugriff // URL posten, Quelltext einlesen Java Basics - Anfänger-Themen 5
E Compiler-Fehler Quelltext aus Buch erzeugt Fehler Java Basics - Anfänger-Themen 3
H Methoden Problem mit get-methode im Quelltext Java Basics - Anfänger-Themen 17
B Quelltext einlesen Java Basics - Anfänger-Themen 12
L Quelltext von vorgefertigten Klassen ansehen Java Basics - Anfänger-Themen 4
StrikeTom Quelltext einer Internetseite auf JTextArea anzeigen Java Basics - Anfänger-Themen 4
K Passage im Quelltext verstehen Java Basics - Anfänger-Themen 2
M Quelltext kürzen Java Basics - Anfänger-Themen 8
F Aus UML Diagramm Quelltext Java Basics - Anfänger-Themen 7
A Quelltext Java Basics - Anfänger-Themen 21
N kommentierter Quelltext zum Üben erwünscht Java Basics - Anfänger-Themen 6
R Quelltext einfügen und kompilieren Java Basics - Anfänger-Themen 4
D Quelltext zu vereinfachen? Java Basics - Anfänger-Themen 4
G Mit Java Quelltext auf Element untersuchen. Java Basics - Anfänger-Themen 5
G Brauche ein paar erklärungen zu Quelltext Java Basics - Anfänger-Themen 5
Y Einfachen Quelltext in UML darstellen mit Eclipse Java Basics - Anfänger-Themen 8
M Quelltext - Urls filtern Java Basics - Anfänger-Themen 4
S Verständnissprobleme mit Quelltext - Make Typ Java Basics - Anfänger-Themen 13
G Quelltext von Methoden in der Klasse Math Java Basics - Anfänger-Themen 11
D Quelltext schützen ? Java Basics - Anfänger-Themen 16
M quelltext html-seite speichern + links speichern Java Basics - Anfänger-Themen 2
B NSD-Diagramme aus Java-Quelltext erstellen! Java Basics - Anfänger-Themen 3
P Quelltext nicht kompilierbar Java Basics - Anfänger-Themen 15
I translate.java - kein sichtbarer fehler im quelltext Java Basics - Anfänger-Themen 18
L Quelltext problem Java Basics - Anfänger-Themen 46
G Quelltext compilieren und öffnen Java Basics - Anfänger-Themen 11
M Quelltext vom Applet Java Basics - Anfänger-Themen 20
M brauche hilfe mit folgendem quelltext Java Basics - Anfänger-Themen 7
V Quelltext einer Homepage einlesen Java Basics - Anfänger-Themen 12
N Quelltext durchsuchen ggfls Alarm schlagen. Java Basics - Anfänger-Themen 29
L quelltext kompilieren Java Basics - Anfänger-Themen 2
G eigenen Quelltext ausgeben Java Basics - Anfänger-Themen 8
G Html Quelltext auslesen der passwortgeschützt ist Java Basics - Anfänger-Themen 4
R Quelltext einer HTML-Seite auslesen Java Basics - Anfänger-Themen 2
M Wo liegt der Quelltext von System.out.println() Java Basics - Anfänger-Themen 3
M Handy Programm, kompletter Quelltext.Methodische Fehler? Java Basics - Anfänger-Themen 3
S Quelltext mit Fehlern Java Basics - Anfänger-Themen 12
U Abkürzung in Quelltext :(( Java Basics - Anfänger-Themen 7

Ähnliche Java Themen

Neue Themen


Oben