Post Mitteilung vom Applet zum cgi-script
Uepselon
- perl
0 Cheatah0 uepselon0 Daniel Thoma0 uepselon
Hallo,
ich möchte aus einem Applet heraus, einem cgi-script Daten mit
der post Methode schicken. Was an sich auch gut funktioniert.
Im Script lese ich die Daten dann vom STDIN, hierzu brauche ich
jedoch die Content-Length, diese kann ich normalerweise aus der
Umgebungsvariable lesen, da der aufruf jedoch von Java her kam, muss
ich aber einen eigenen HTTP-HEADER machen.
Kann mir jemand sagen wie dieser genau aussehen muss, oder gibt
es noch eine andere Möglichkeit, die Daten vom STDIN zu lesen ohne
die Länge genau zu kennen?
MfG
Uepselon
Hi,
Im Script lese ich die Daten dann vom STDIN,
warum benutzt Du nicht einfach CGI.pm?
#!/usr/bin/perl -w
use strict;
use CGI ':standard';
print header('text/plain'), param('name');
Dies liefert Dir den Wert des Übergabeparameters 'name' zurück. Mehr dazu in
perldoc CGI
Cheatah
Hi,
das hab ich jetzt nicht ganz Verstanden, *ich bin kein Perl Profi*
Sprichst du von einem Perl Modul (CGI.pm)?
Das Script selbst muss keinen HTTP-HEADER ausgeben, das Applet
muss diesen bei seiner post Übergabe mitgeben, tut es aber nicht.
Es liegt lediglich ein String im STDIN für das Script bereit,
bsp: "test=text" , dieser hätte ja die Länge 9. Wenn ich nun
read vom STDIN mache mit length=9 kann ich was damit anfangen, nur die länge ist ja variabel und sollte eben im HEADER stehen: Deshalb meine Frage, wie ein HEADER übergeben werden muss.
Z.B.? Content-Length:Wert_aus_Applet
etc.
test=text
was muss da alles im Header stehen? muss alles in einer Zeile stehen, oder
durch einen Zeilenumbruch CRLF getrennt sein???
MfG
Y
Hallo Uepselon
Ein paar links zu http:
ftp://ftp.isi.edu/in-notes/rfc2616.txt
[http://www.w3.org/Protocols/]
Serverseitig gibt es ja genug Klassen dafür.
Warum diese nicht Standartmässig bei Java dabei sind um so auch bei Applets ohne erhebliche Ladezeiten eingesetzt werden zu können ist mir ein Rätsel.
Tschüs
Daniel
Hi,
Content-Length: Länge|Content-Type: text/html
CRLF
feld=value
CRLF
feld2=value
Sieht so HEADER und BODY einer post Mitteilung aus?
Oder wird das mit den CRLF und | , anderst gehandhabt?
Hallo
Ich hab nochmal ein bischen gesucht:
http://www.innovation.ch/java/HTTPClient/
Da gibt es eine HTTP-Implementierung für die clientseite mit SSL Unterstützung usw.
Insgesammt sind es zwar 300 KB ohne source, aber die meisten Klassen wird man wohl nicht für eine einfache POST-Anfrage benötigen.
Wenn du das von Hand machen willst, musst du entweder den HTTP-RFC lesen, oder ein CGI-Script schreiben, dass den httpheader ausgibt (um zu sehen, was der browser machen würde).
cu
Daniel