hallo,
ich habe ein Java Applet programmiert welches Daten an eine PHP Seite senden soll.
Das Kompilieren geht ohne Fehlermeldung, nur wird aus irgendeinem Grund die Seite "test.php" nicht aufgerufen
In der Seite "test.php" sende ich eine E-mail mit der Post Variablen "string" um zu sehn obs geklappt hat.
Ich habe die Seite "test.php" schon manuell im Browser aufgerufen und die funktion mail funktioniert.
Kann mir jemand sagen was ich falsch mache ?
"UrlPost.java"
import java.applet.;
import java.net.;
import java.io.*;public class UrlPost
extends Applet{String data=new String("string=test");
public void init(){
try{
URL url=new URL("http://www.myurl.be:80/java/test.php");System.out.println("protocol: "+url.getProtocol());
System.out.println("host: "+url.getHost());
System.out.println("port: "+url.getPort());
System.out.println("path: "+url.getPath());
System.out.println("file: "+url.getFile());
System.out.println("ref: "+url.getRef());URLConnection urlcon=url.openConnection();
urlcon.setDoOutput(true);
OutputStream out=urlcon.getOutputStream();
out.write(data.getBytes());
out.flush();
out.close();System.out.println("OK daten wurden gesendet");
}
catch(IOException e){
System.out.println("KO");
}
}
}
>
> ~~~php
> <?php
> $str='POST'.$_POST['string'];
> mail('my@email.com','UrlPostString','text'.$str);
> ?>
Ergebnis in der Konsole:
MRJ Plugin for Mac OS X v1.0.1
[starting up Java Applet Security @ Wed Apr 18 10:47:35 CEST 2007]
Wed Apr 18 10:47:36 CEST 2007 JEP creating applet UrlPost (http://www.meinurl.be/java/)
protocol: http
host: www.meinurl.be
port: 80
path: /java/test.php
file: /java/test.php
ref: null
daten wurden gesendet
Bin zwar kein Java-Experte aber ich hatte ähnliche Schwierigkeiten mal mit Perl.
Du solltest vielleicht den Content-Type setzen und Deinen String entsprechend kodieren.
Ausserdem bin ich nicht sicher ob bei einem einfachen "write"
die Content-Length richtig er/übermittelt wird.
Hier:
http://home.tiscali.nl/~bmc88/java/sbook/045.html
Gibt's ein wenig Info dazu.
Grüsse
hkl