![]() |
Probleme mit IdHTTP Post
Hallo
Ich bekomm das senden von Daten über "IdHTTP" einfach nicht hin :( Über TWebbrowser geht es ohne Probleme (siehe code)
Delphi-Quellcode:
Webbrowser1.Navigate(sURL);
WebBrowser1.OleObject.Document.Forms.item('frm').Elements.item('text').value := reEintrag.Text; Element := WebBrowser1.OleObject.Document.forms.item(0).elements; //Button "senden" suchen und anschließend clicken (text abschicken) for i := 0 to (Element.Length - 1) do begin if (Element.Item(i).Value = 'senden') then begin Element.Item(i).Click; end; end; //for versuch ich es über "IdHTTP" funktioniert es nicht :(
Delphi-Quellcode:
var
sURL:String; slEintrag:TStringList; begin slEintrag := TStringList.Create; with slEintrag do begin //"text" ist das Eingabeformular auf der Webseite wie oben bei TWebbrowser Add('text='+ reEintrag.Text); end; try btnSend.Font.Color := clRed; btnSend.Caption := 'wird gesendet...'; btnSend.Update; IdHTTP1.Post(sURL,slEintrag); btnSend.Font.Color := clBlack; btnSend.Caption := 'Senden'; btnSend.Update; except MessageDlg('Senden fehlgeschlagen', mtError, [mbOK], 0); btnSend.Font.Color := clBlack; btnSend.Caption := 'Senden'; btnSend.Update; end; //try slEintrag.Free; |
Re: Probleme mit IdHTTP Post
hat keiner eine Idee oder ein Tipp ? :(
|
Re: Probleme mit IdHTTP Post
Guten Morgen Holger,
du musst die Komponente TIdMultiPartFormDataStream einsetzen. Suche in der DP mal nach ![]() Grüße vom marabu |
Re: Probleme mit IdHTTP Post
Hallo Holger,
Zitat:
Im Prinzip müsste das so klappen, wie Du das machst. Was für ein Fehler kommt denn? Ist "sURL" überhaupt gesetzt? Grüsse ...Doc |
Re: Probleme mit IdHTTP Post
Irgendwie hatte sich bei mir der Eindruck verfestigt, dass Holger am Versand von Dateien (Daten) scheiter. Bei simplen Formularfeldern sollte die Methode AddFormField() helfen.
Freundliche Grüße |
Re: Probleme mit IdHTTP Post
Zitat:
|
Re: Probleme mit IdHTTP Post
Noch etwas,
vielleicht liegt es auch nur daran, dass Du das Ergebnis nicht verarbeitest:
Delphi-Quellcode:
var HTMLResult: string;
(...) // Ergebnis (empfangene Seite) geht verloren, sofern nicht irgendwie anders "abgefangen": //IdHTTP1.Post(sURL,slEintrag); // also z.B. HTMLResult := IdHTTP1.Post(sURL,slEintrag); // Empfangene Seite steht jetzt in HTMLResult |
Re: Probleme mit IdHTTP Post
Hallo
Also erstmal danke für eure Hilfe. Eine Fehlermeldung kommt nicht und sURL ist auch gesetzt. Mit WebBrowser1 geht es ja dort wird das Formular (WebBrowser1.OleObject.Document.Forms.item('frm'). Elements.item('text').value := reEintrag.Text;) mit Formulardaten gefüllt und anschließend der "Senden" Button gesucht und betätigt. Liegt es vielleicht daran das genau dieser Button nicht betätigt wird oder hat dies bei IdHTTP keine Bedeutung? |
Re: Probleme mit IdHTTP Post
Delphi-Quellcode:
So geht es auch nicht kommt auch keine Fehlermeldung
procedure TForm1.btnSendClick(Sender: TObject);
var sURL:String; data: TIdMultiPartFormDataStream; begin data := TIdMultiPartFormDataStream.Create; sURL := eGB.Text; data.AddFormField('text', reEntry.Text); Memo1.Text := IdHTTP1.Post(sURL, data); end; Hat es vielleicht mit (('frm')) was zu tun? weil bei Webbrowser dieses (Document) ja auch erst aufgerufen wird und dann ja erst das (Elements.item('text')). Aber eigentlich ist die Seite mit dem entsprechendem Formular was ausgefüllt werden soll ja bei (sURL) schon gesetzt |
Re: Probleme mit IdHTTP Post
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Holger,
ich habe eine kleine Demo erstellt, bei der du die Daten interaktiv per WebBrowser oder per Indy HTTP Client an einen internen Server (Port 8080) schicken kannst. Ich übergebe das Textfeld ohne IdMultiPartFormDataStream. Vielleicht findest du beim Studieren der Demo deinen Fehler. Freundliche Grüße |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:33 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