Hallo,
möchte in meinem Java-Applet eine Datei an ein PHP-Skript senden.
Mein in Java erstellter und versendeter Request sieht so aus:
die Antwort so (inkl. Ausgabe von fopen('php://stdin', 'r'); und $HTTP_RAW_POST_DATA):
Wieso wird der Inhalt nicht mitgeschickt?
Ist dieser kryptische Zeichensatz vor dem letzten Boundary normal? hat immer die gleiche Größe egal wie groß die Datei ist.
Java-Code:
möchte in meinem Java-Applet eine Datei an ein PHP-Skript senden.
Mein in Java erstellter und versendeter Request sieht so aus:
OKPOST /test.php HTTP/1.1
Host: www.meinedomain.de
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.2) Gecko/20021126
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8
Referer: www.meinedomain.de/test.php
Pragma: no-cache
Content-Type: multipart/form-data; boundary=---------------------------907231049
Content-Length: 201
Connection: keep-alive
---------------------------907231049
Content-Disposition: form-data; name="file-upload"; filename="hallo4.txt"
Content-Type: text/plain
[B@313170
---------------------------907231049--
die Antwort so (inkl. Ausgabe von fopen('php://stdin', 'r'); und $HTTP_RAW_POST_DATA):
Code:
HTTP/1.1 200 OKDate: Wed, 14 Mar 2007 20:03:15 GMTServer: Apache/1.3.31 (Unix) FrontPage/5.0.2.2635 PHP/4.4.2X-Powered-By: PHP/4.4.2Keep-Alive: timeout=5, max=100Connection: Keep-AliveTransfer-Encoding: chunkedContent-Type: text/html0
Wieso wird der Inhalt nicht mitgeschickt?
Ist dieser kryptische Zeichensatz vor dem letzten Boundary normal? hat immer die gleiche Größe egal wie groß die Datei ist.
Java-Code:
Code:
final DataOutputStream raw = new DataOutputStream(socket.getOutputStream());
final Writer wr = new OutputStreamWriter(raw);
final String boundary = "\r\n---------------------------" + ((int)(Math.random() * 1000000000)) + "\r\n";
final String contentdispo = boundary + "Content-Disposition: form-data; name=\"file-upload\"; filename=\"" + theFile.getName() +"\"\r\n"
+ "Content-Type: text/plain\r\n";
String data = "POST /" + path + " HTTP/1.1\r\n"
+ "Host: " + hostname.replace("http://", "") + "\r\n"
+ "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.2) Gecko/20021126\r\n"
+ "Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8\r\n"
+ "Referer: " + hostname + "/" + path + "\r\n"
+ "Pragma: no-cache\r\n"
+ "Content-Type: multipart/form-data; boundary=" + boundary.replace("\r\n", "") + "\r\n"
+ "Content-Length: " + ((int)theFile.length() + contentdispo.length() + boundary.length()) + "\r\n"
+ "Connection: keep-alive\r\n"
+ contentdispo;
wr.write(data);
wr.flush();
raw.write(theData);
jta.append(data + theData + "\r\n" + boundary.replace("\r\n", "") + "--\r\n\r\n\r\n");
raw.flush();
wr.write("\r\n" + boundary.replace("\r\n", "") + "--\r\n");
wr.flush();