Ich versuche einen Request via http.post zu versenden.
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15:
| procedure MyPost(); var Input,Output:TStringStream; begin Input := TStringStream.Create(''); Output := TStringStream.Create(''); try Input.WriteString('RC=@D&ACCT=root&URL=MeinPasswort'); IdHTTP1.Post('http://192.168.165.1/cgi-bin/logi', Input, Output); memo1.Lines.LoadFromStream(Output); finally FreeAndNil(Input); FreeAndNil(Output); end; end; |
Das Problem ist nun, dass sich der bettr. Server dabei immer aufhängt, wenn ich Indy 9.0010 bzw. 9.00.11 verwende. Mit Indy 8.0.25 funktioniert alles tadellos.
Am Server selbst kann nichts geändert werden, da es ein embeddet Webserver ist.
Ab Indy9 entspricht HTTP.Post offensichtlich nicht mehr dem Standard den alle Webbrowser und Indy8 verwenden.
Zur Info ist hier einmal eine HTML-Seite, mit welcher der Request erfolgreich abgesetzt werden kann:
Quelltext
1: 2: 3: 4: 5: 6: 7:
| <HTML><BODY> <FORM ACTION=http://192.168.165.1/cgi-bin/logi METHOD=POST> <INPUT TYPE=HIDDEN NAME=RC VALUE="@D"> <INPUT TYPE=HIDDEN NAME=ACCT VALUE="root"> <INPUT TYPE=PASSWORD NAME=URL SIZE=9 MAXLENGTH=9> <INPUT TYPE=SUBMIT VALUE="Log in"></FORM> </BODY></HTML> |
Falls irgend jemand eine Idee hat wäre ich dankbar für einen Lösungsansatz.
P.S.:

ich habe es auch mit THttpCli von FPipette versucht... mit dem gleichen negativen Ergebnis.