PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : POST-Message an PHP-Script schicken?



Discipulus
31-01-2003, 12:18
Hallo zusammen

Ich möchte gerne mit Perl ein Script schreiben, mit dem ich mich auf einer Site einlogge.
Das Einloggen sieht etwa so aus:

<form name="login" methode="post" action="main.php">
<input type="text" name="name" size="14">
<input type="password" name="passwort" size="14">

Nun muss ich, soweit ich das verstanden habe, eine POST-Message schicken, mit Name und Passwort. Ist das überhaupt möglich, und wenn ja wie?

Danke

mehlvogel
31-01-2003, 12:44
Achso... - doch das geht - weis aber nicht genau wie. Du musst die Daten im Header mitschicken und ich glaub inb der Form var_name=var_value#10#13var... wie das in PERL geht weis ich aber nicht.

Discipulus
31-01-2003, 12:55
Danke für die Antwort. Doch ich brauche genauere Angaben, und worüber ich sehr froh wäre, ist ein HOWTO.

tomes
31-01-2003, 18:09
http://www.mrunix.de/forums/showthread.php?threadid=30440
Jedenfalls fuer Perl/cgi. Von Perl/cgi zu php habe ich aber noch nicht versucht.
Da sollte man aber auf den name direkt zu greifen koennen.

T;o)Mes

Discipulus
02-02-2003, 14:11
Ich denke ich habe mich nicht ganz klar ausgedrückt. Sorry
Ich will versuchen, ein Script zu schreiben, dass sich auf einer Seite einloggt. Das Einloggen geht über POST und jetzt will ich versuchen, ein Script, den ich bei mir lokal laufen lassen kann, zu schreiben, der eine POST-Message erstellt mit den erforderlichen Daten.
Ich kenne mich in diesem Thema überhaupt nicht aus, also bitte entschuldigt, wenn ich einen riesen scheiss zusammenschreibe/frage!

tomes
03-02-2003, 18:28
postest, gehe ich mal davon aus, dass du das Ganze in cgi/pl realisieren moechtest.
Dann ganz einfach so wie du Angefangen hast ( form,input ).
Dann das bei Action als Ziel main.pl.
Dann siehe mein Link.
Dann so etwas in der Art:


if($user == "Discipulus" && $passw == "geheim"){
print "
Herzlichen Glueckwunsch\n
Sie sind angemeldet !
";
........Weitere Seite ......
else{
print "
Falsches Password\n
Versuchen Sie es noch einmal !
";
...... Weiter Seite.......
}

Ist es so etwas, was du suchst ?

T;o)Mes

Discipulus
04-02-2003, 12:44
Ich habe das gefühl, wir reden/schreiben aneinander vorbei, oder ich verstehe dich völlig falsch. Ich will mit einem Perl-Script (nix CGI) eine POST-Message an eine andere Seite schicken. Das heisst ich füre den Script lokal aus, und der schickt dann eine POST-Message. Ich habe mal etwas im Inet gesucht und bin mittlerweile fündig geworden.
Es ist etwas mit HTTP::Request::Common und so......
Ich glaube das ist etwa das, was ich gesucht habe. Die Sache zu realisieren ist schon wider das nächste Problem, doch das versuche ich erst mal selber.

Danke für euere Antworten :D

sticky bit
19-02-2003, 18:45
Du musst das ganze im Body einer HTTP Message mitschicken, also z. B.:


POST /main.php HTTP/1.1
Host: host.domian.test
Content-Length: 29

name=benutzer&passwort=geheim

Der Content-Lenght Header ist zwingend und muss dem entsprechen was im Body enthalten ist, ists mehr läuft sich die Verbindung tot, (der Server wartet auf Input der nie kommen wird...) ist weniger wird was abgeschnitten...
Der Host Header ist bei HTTP/1.1 zwingend...

Siehe für weitere Details http://www.ietf.org/rfc/rfc1945.txt über HTTP/1.0 bzw. http://www.ietf.org/rfc/rfc2616.txt über HTTP/1.1