AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi http.Post Felder werden nicht ausgefüllt!
Thema durchsuchen
Ansicht
Themen-Optionen

http.Post Felder werden nicht ausgefüllt!

Ein Thema von vit4l · begonnen am 22. Jan 2009 · letzter Beitrag vom 26. Jan 2009
Antwort Antwort
vit4l

Registriert seit: 10. Jun 2008
72 Beiträge
 
#1

http.Post Felder werden nicht ausgefüllt!

  Alt 22. Jan 2009, 14:11
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?
  Mit Zitat antworten Zitat
romber

Registriert seit: 15. Apr 2004
Ort: Köln
1.164 Beiträge
 
Delphi 10 Seattle Professional
 
#2

Re: http.Post Felder werden nicht ausgefüllt!

  Alt 22. Jan 2009, 16:29
Poste mal deine Prozedur, mit der du die Formulardaten abschickst.
  Mit Zitat antworten Zitat
vit4l

Registriert seit: 10. Jun 2008
72 Beiträge
 
#3

Re: http.Post Felder werden nicht ausgefüllt!

  Alt 22. Jan 2009, 16:35
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;
  Mit Zitat antworten Zitat
vit4l

Registriert seit: 10. Jun 2008
72 Beiträge
 
#4

Re: http.Post Felder werden nicht ausgefüllt!

  Alt 23. Jan 2009, 08:36
Weiss keiner eine Lösung...????????
Schade
  Mit Zitat antworten Zitat
vit4l

Registriert seit: 10. Jun 2008
72 Beiträge
 
#5

Re: http.Post Felder werden nicht ausgefüllt!

  Alt 26. Jan 2009, 10:34
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.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:53 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz