Hallo leute,
seit ein paar Tagen nun versuche ich schon ein Programm zu schreiben, welches HTML bzw ein Formular an einen Server versendet. Die Verbindung auf zu bauen ist nicht das Problem. Das Auslesen des HTML Codes der Seite habe ich auch hin bekommen. Nur will es jetzt einfach nicht funktionieren, dass Ich dem Server einen Post schicke
Derzeitiger Code:
Ich versuche einen Post an folgende Seite zu versenden: Henry's HTTP Post Dumping Server
Im Moment bekomme ich den Fehler 400 Bad Request. Muss ich dafür den zu sendenden Code vorher irgenwie formatieren/codieren?
Und generell habe ich das Gefühl das Grundprinzip nicht gans richtig verstanden zu haben :bahnhof:
Wäre nett wenn mir wer helfen könnte, bin langsam am verzweifeln.
seit ein paar Tagen nun versuche ich schon ein Programm zu schreiben, welches HTML bzw ein Formular an einen Server versendet. Die Verbindung auf zu bauen ist nicht das Problem. Das Auslesen des HTML Codes der Seite habe ich auch hin bekommen. Nur will es jetzt einfach nicht funktionieren, dass Ich dem Server einen Post schicke
Derzeitiger Code:
Java:
import java.net.*;
import java.io.*;
public class Post {
public static void main(String[] args) {
try {
String data = "<html><body>Bitte tragen Sie zwei Zahlen ein und senden Sie das Formular ab.<br><form action = \"ud01.php?name\" method = \"post\"> " +
"Name: <input name = \"name\"><p><input type = \"submit\"><input type = \"reset\"></form></body></html>";
//Create socket
String hostname = "www.posttestserver.com";
int port = 80;
InetAddress addr = InetAddress.getByName(hostname);
Socket sock = new Socket(addr, port);
//Send header
BufferedWriter wr = new BufferedWriter(new OutputStreamWriter(sock.getOutputStream(),"UTF-8"));
// You can use "UTF8" for compatibility with the Microsoft virtual machine.
wr.write("POST " + "HTTP/1.1\r\n");
wr.write("Host: www.posttestserver.com\r\n");
wr.write("Content-Length: " + data.length() + "\r\n");
wr.write("Content-Type: text/xml; charset=\"utf-8\"\r\n");
wr.write("\r\n");
//Send data
wr.write(data);
wr.flush();
// Response
BufferedReader rd = new BufferedReader(new InputStreamReader(sock.getInputStream()));
String line;
while((line = rd.readLine()) != null)
System.out.println(line);
} catch (Exception e) {
e.printStackTrace();
}
}
}
Ich versuche einen Post an folgende Seite zu versenden: Henry's HTTP Post Dumping Server
Im Moment bekomme ich den Fehler 400 Bad Request. Muss ich dafür den zu sendenden Code vorher irgenwie formatieren/codieren?
Und generell habe ich das Gefühl das Grundprinzip nicht gans richtig verstanden zu haben :bahnhof:
Wäre nett wenn mir wer helfen könnte, bin langsam am verzweifeln.