Problem mit Java Programm zum runterladen und speichern von einer XML-Datei

Hey super Idee!
Hab gleich mal XAMPP installiert und siehe da über 127.0.0.1 geht es!

Allerdings habe ich da natürlich auch den direkten Pfad zur Datei.

Also:
Code:
http://127.0.0.1/bam/config.xml

Auf dem "richtigen" Server gebe ich ja nur der Seite den Befehl zum Export einer XML-Datei.

Also:
Code:
http://seite.de/unterseite?actionType=importExport&password1=12345678&password2=12345678&export=export


Aber am Code zum erstellen der Datei liegt es nun nicht mehr!
 
Aber am Code zum erstellen der Datei liegt es nun nicht mehr!
Soweit waren wir doch schon?!

Nochmal zum Mitschreiben: es liegt nicht am Erstellen der Datei. Das funktioniert auch mit dem Code den du im ersten Beitrag gepostet hast.

Wenn dort Daten ankommen würden, dann würde auch etwas in die Datei geschrieben. Es wird nur nichts vom Server gesendet. Deswegen solltest du auch mal den ResponseCode ausgeben lassen und schauen ob dort eine Umleitung stattfindet der evlt. nicht gefolgt wird.

Du könntest auch mal den Fiddler (IE) oder das Live Http Headers Firefox Add-In verwenden um zu schauen wie die Kommunikation vom Browser und Server aussieht.

Exceptions hast du ja hoffentlich nicht einfach ignoriert, oder?

Gruß
 
Es tauchen keine Fehlermeldungen auf...in der Konsole.

Hab mir jetzt mal ein paar Dinge ausgeben lassen:
Java:
		System.out.println("FollowRedirects: " + xmlURLCon.getInstanceFollowRedirects());
        		System.out.println("RequestMethod: " + xmlURLCon.getRequestMethod());
        		System.out.println("ResponseMessage: " + xmlURLCon.getResponseMessage());
        		System.out.println("ResponseMessage: " + xmlURLCon.getResponseCode());
        		System.out.println("ContentEncoding: " + xmlURLCon.getContentEncoding());
        		System.out.println("ContentType: " + xmlURLCon.getContentType());

Das kam dabei raus:
Code:
FollowRedirects: true
RequestMethod: GET
ResponseMessage: OK
ResponseCode: 200
ContentEncoding: null
ContentType: text/html

Bei Redirect ist zu sagen...True by default.
 
Zuletzt bearbeitet:
Code:
ContentLength: 2

:confused:

EDIT:

Live HTTP headers (FireFox-Addon) gibt mir bei der export-Aktion im Browser folgendes an:
Code:
ContentLength: 746
 
Zuletzt bearbeitet:
Wie geschrieben gibt HTTP headers die ContenLength mit >700 an.

Habe auch noch mal mit WireShark nach den gesendeten Daten gescannt, um zu gucken ob vll doch ein Parameter beim DL-Link fehlt.
Scheint aber nicht der Fall zu sein.

Aber mit Java hat das ganze nichts mehr zu tun.
Deswegen danke für eure Hilfe!

EDIT:
Fehler gefunden:

FALSCH:
Code:
URL xmlURL = new URL("http://URL");
HttpURLConnection xmlURLCon = (HttpURLConnection) xmlURL.openConnection ();
//Cookie wird mitgegeben
xmlURLCon.setRequestProperty("Cookie", cookie);
//Eingehender Stream wird "erzeugt"
BufferedInputStream xmlURLin = new BufferedInputStream(xmlURL.getInputStream());

RICHTIG:
Code:
URL xmlURL = new URL("http://URL");
HttpURLConnection xmlURLCon = (HttpURLConnection) xmlURL.openConnection ();
//Cookie wird mitgegeben
xmlURLCon.setRequestProperty("Cookie", cookie);
//Eingehender Stream wird "erzeugt"
BufferedInputStream xmlURLin = new BufferedInputStream(xmlURLCon.getInputStream());


Der Fehler liegt in der letzten Zeile!
Code:
xmlURLCon.getInputStream()
nicht
Code:
xmlURL.getInputStream()



Jetzt funktioniert alles!

Danke :)
 
Zuletzt bearbeitet:
Zurück