![]() |
IdHTTP, probleme mit Post...
Das Thema gab es zwar schon mehrfach, jedoch ohne brauchbare Lösung...
Ich möchte Daten via HTTP-Post an eine PHP Seite senden
Delphi-Quellcode:
Die Daten kommen jedoch nicht am Ziel an, d.h. die Variablen sind leer...
procedure TForm1.BitBtn1Click(Sender: TObject);
var data: TIdMultiPartFormDataStream; begin data := TIdMultiPartFormDataStream.Create; try { add the used parameters for the script } data.AddFormField('Wert1', 'value1'); data.AddFormField('Wert2', 'value2'); data.AddFormField('Wert3', 'value3'); data.Position:=0; { Call the Post method of TIdHTTP and read the result into TMemo } Memo1.Lines.Text := IdHTTP1.Post('http://www.irgendeinedomain.net/upload.php', data); finally data.Free; end; end; upload.php
Code:
Mache ich das gleiche über eine HTML-Seite, klappt alles fehlerfrei:
<?PHP
echo $HTTP_POST_VARS["Wert1"]." "; echo $HTTP_POST_VARS["Wert2"]." "; echo $HTTP_POST_VARS["Wert3"]." "; ?>
Code:
<html>
<body> <form action="upload.php" method="POST"> <input type=text name="Wert1" value="value 1"> <input type=text name="Wert2" value="value 2"> <input type=text name="Wert3" value="value 3"> <input type=submit> </form> </html> |
Re: IdHTTP, probleme mit Post...
Weiss denn wirklich niemand, wie man einen richtigen POST-Request mit Indy hinbekommt??? :roll: :gruebel:
|
Re: IdHTTP, probleme mit Post...
wenn du im php-script einfach $Wert1 verwendest zeigst dann einen wert an???
|
Re: IdHTTP, probleme mit Post...
Nein, es wird auch dann nichts angezeigt! Wenn ich die Webseite (Beispiel) verwende, dann klappt es ja auch -> Das Script ist OK, Indy (oder ich) macht was falsch...
|
Re: IdHTTP, probleme mit Post...
also auf arbeit hab ich nen project rumliegen wo ich sowas auch mache, dort funktioniert auch, komm jetzt aber nicht ran. Wenn deine Felder nur Strings beinhalten benutze mal die idhttp.post variante wo du die parameter in einer Stinglist übergibst.
beispiel: parameter.add('wert= wert=value1'); vielleicht liegst an dem "data.position". Das hab ich bei mir so weit ich weiß nie verwendet und es hat trotzdem geklappt; |
Re: IdHTTP, probleme mit Post...
Das nützt mir nichts, da ich eigentlich auch noch eine Datei übertragen will. Durch diesen Test habe ich aber festgestellt, dass Indy noch nichtmal in der Lage ist einfache Textfelder zu übertragen...
|
Re: IdHTTP, probleme mit Post...
Hypothese: Wenn du das try finaly rausnimmst siehst du das nen fehler kommt. Ich nehm an du testest das ganze local und das ist intranet und somit brauchst du die BasicAuthentication da die indycomponente nicht wie der IEExplorer automatich das windowslogin sendet
|
Re: IdHTTP, probleme mit Post...
BasicAuthentication hin oder her, damit hat es nichts zu tun... :cyclops: Es gibt auch keinen Fehler, das Memo wird ja gefüllt
Code:
, nur sind eben die Variablen leer...Mal ganz davon abgesehen teste ich es nicht lokal, das Script und auch die Testseite liegen auf einem "echten" Webserver im Netz ;) |
Re: IdHTTP, probleme mit Post...
Delphi-Quellcode:
bei mir klappts. Oder hastn noch irgendwie nen sourceschnipsel mehr wo eventuell der Fehler drin ist??
var
data: TIdMultiPartFormDataStream; begin data := TIdMultiPartFormDataStream.Create; data.AddFormField('Wert1', 'value1'); data.AddFormField('Wert2', 'value2'); data.AddFormField('Wert3', 'value3'); idhttp1.Post('http://127.0.0.1/index.htm', data); data.free; |
Re: IdHTTP, probleme mit Post...
Zitat:
Mein Request geht ja auch "Fehlerfrei" raus, nur kommen die übergebenen Felder/Feldinhalte nicht an :wall: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:16 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz