Hallo Leute,
ich muss über Java-Code ein Webformular ausfüllen.
mein Code ist vom Prinzip her so aufgebaut ...
[highlight=Java]
public static void main(String[] args) throws IOException {
URL server = new URL(
"https://employeeapp-288.umantis.com/Public/Import/New");
HttpURLConnection conn = (HttpURLConnection)server.openConnection();
OutputStreamWriter wr = new OutputStreamWriter(
conn.getOutputStream());
// hier stehen die Post Daten in folgender (Beispiel)Form:
// wr.write(URLEncoder.encode("form_save", "UTF-8") + "=" + URLEncoder.encode("true", "UTF-8"));
wr.close();
conn.disconnect();
}
[/highlight]
1. habe ich in unterschiedlichen Forn gelesen, dass ich eine MalformedURLException bekomme, wenn ich nicht irgendwelche speziellen Klassen einbinde, die https unter der HttpURLConnection unterstützen.
Ich habe diese Klassen nicht eingebunden; bekomme aber auch den Fehler nicht, Woran kann das liegen?
2. der eigentliche Fehler den ich bekomme ist ein HTTP-500 Error.
Es handelt sich um ein Formular zum Upload von XML-Dateien.
Solange ich die XML-Datei nicht mitschicke und nur die restlichen Felder befülle, kann ich mein Request zum Server schicken; sobald ich die Datei mitzuschicken versuche, bekomme ich einen Fehler. ich versuche die Datei so zu verschicken:
[highlight=Java]wr.write("&" + URLEncoder.encode("form_data4", "UTF-8") + "=");
String line;
BufferedReader in = new BufferedReader(new FileReader("lesalaire_export.xml"));
while ( (line = in.readLine()) != null ) {
wr.write(line);
}[/highlight]
habe ich den Upload falsch aufgebaut?
3. ich habe in Perl denselben Client schonmal geschrieben. Dort musste ich die URLConnection wie folgt definieren:
[highlight=Perl]
$ua = LWP::UserAgent->new(
agent => 'lsalInterface/1.0',
from => 'sgunacker',
requests_redirectable => ['GET', 'HEAD', 'POST']
);[/highlight]
ohne den Requests-Redirectable hat das nicht funktioniert. Vermutlich ist HttpURLConnection.setFollowRedirects(true);
in Java die Alternative. Aber auch damit funktioniert es nicht! Ich wei0 nicht mehr weiter. Kann mir irgendjemand in diesem Punkt helfen?
danke,
guni
ich muss über Java-Code ein Webformular ausfüllen.
mein Code ist vom Prinzip her so aufgebaut ...
[highlight=Java]
public static void main(String[] args) throws IOException {
URL server = new URL(
"https://employeeapp-288.umantis.com/Public/Import/New");
HttpURLConnection conn = (HttpURLConnection)server.openConnection();
OutputStreamWriter wr = new OutputStreamWriter(
conn.getOutputStream());
// hier stehen die Post Daten in folgender (Beispiel)Form:
// wr.write(URLEncoder.encode("form_save", "UTF-8") + "=" + URLEncoder.encode("true", "UTF-8"));
wr.close();
conn.disconnect();
}
[/highlight]
1. habe ich in unterschiedlichen Forn gelesen, dass ich eine MalformedURLException bekomme, wenn ich nicht irgendwelche speziellen Klassen einbinde, die https unter der HttpURLConnection unterstützen.
Ich habe diese Klassen nicht eingebunden; bekomme aber auch den Fehler nicht, Woran kann das liegen?
2. der eigentliche Fehler den ich bekomme ist ein HTTP-500 Error.
Es handelt sich um ein Formular zum Upload von XML-Dateien.
Solange ich die XML-Datei nicht mitschicke und nur die restlichen Felder befülle, kann ich mein Request zum Server schicken; sobald ich die Datei mitzuschicken versuche, bekomme ich einen Fehler. ich versuche die Datei so zu verschicken:
[highlight=Java]wr.write("&" + URLEncoder.encode("form_data4", "UTF-8") + "=");
String line;
BufferedReader in = new BufferedReader(new FileReader("lesalaire_export.xml"));
while ( (line = in.readLine()) != null ) {
wr.write(line);
}[/highlight]
habe ich den Upload falsch aufgebaut?
3. ich habe in Perl denselben Client schonmal geschrieben. Dort musste ich die URLConnection wie folgt definieren:
[highlight=Perl]
$ua = LWP::UserAgent->new(
agent => 'lsalInterface/1.0',
from => 'sgunacker',
requests_redirectable => ['GET', 'HEAD', 'POST']
);[/highlight]
ohne den Requests-Redirectable hat das nicht funktioniert. Vermutlich ist HttpURLConnection.setFollowRedirects(true);
in Java die Alternative. Aber auch damit funktioniert es nicht! Ich wei0 nicht mehr weiter. Kann mir irgendjemand in diesem Punkt helfen?
danke,
guni
Zuletzt bearbeitet: