![]() |
http.Post Felder werden nicht ausgefüllt!
Ich versuche mit IdHTTP mittels Post einen Formular zu versenden. Dafür erstelle ich eine TIdMultiPartFormDataStream, füge die benötigten Felder hinzu und poste es an den Server. Im Normalfall sollte es dann zu der nächsten Seite weitergeleitet werden, passiert aber nicht. Zum Testen habe ich den zurückgegebenen HTML-Code als html-Datei gespeichert und im Browser geöffnet. Und da wird deutlich, dass keines der Felder mit den geposteten Daten ausgefüllt wird. Es passiert einfach nichts! Aber auch keine Fehlermeldung, wenn irgenwelches Pflichtfeld nicht ausgefüllt wurde. Wenn ich aus den Parametern selber ein Link zusammensetze und dann im Browser eingebe, passiert dasselbe. Es funktioniert also nur, wenn man das Formular im Browser ausfüllt und abschickt.
Kann das sein, dass nicht alle Formulare mittels Post und IdHTTP ausgefüllt werden können? Was sollte ich immer beachten, wenn ich die Formulardaten auf diesem Weg übertrage? |
Re: http.Post Felder werden nicht ausgefüllt!
Poste mal deine Prozedur, mit der du die Formulardaten abschickst.
|
Re: http.Post Felder werden nicht ausgefüllt!
Delphi-Quellcode:
procedure PostData;
var http : TIdHTTP; Source: string; CookieMgr: TIdCookieManager; PostParams: TIdMultiPartFormDataStream; const AddPageURL = 'http://www2.motoscout24.de/ger/private/privateeditmoto.asp'; begin CookieMgr := TIdCookieManager.Create(nil); http := TIdHTTP.Create(nil); http.CookieManager := CookieMgr; http.Request.ContentType := 'text/html'; http.Request.AcceptCharSet := 'ISO-8859-1'; http.Request.AcceptLanguage := 'DE'; http.HandleRedirects := true; PostParams := TIdMultiPartFormDataStream.Create; PostParams.AddFormField('ctst', 'yes'); PostParams.AddFormField('make', '13'); PostParams.AddFormField('model', '148'); PostParams.AddFormField('category', '16'); PostParams.AddFormField('price', '500'); PostParams.AddFormField('send', 'Jetzt kostenlos inserieren'); PostParams.AddFormField('pubstart', ''); PostParams.AddFormField('pubend', ''); PostParams.AddFormField('id', '0'); PostParams.AddFormField('language', 'ger'); PostParams.AddFormField('action', 'save'); Source := http.Post(AddPageURL, PostParams); with TStringList.Create do try Text := Source; SaveToFile('C:\test.html'); finally Free; end; PostParams.Free; CookieMgr.Free; http.Free; end; |
Re: http.Post Felder werden nicht ausgefüllt!
Weiss keiner eine Lösung...????????
Schade :( |
Re: http.Post Felder werden nicht ausgefüllt!
Mein Problem hat sich erledigt, wenn jemand auch mit so einem Problem zu kämpfen hat, sollte einfach für die values die normale TStringList benutzen.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:22 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