AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke IdHTTP-Post - wie richtige Zeilenumbrüche machen?
Thema durchsuchen
Ansicht
Themen-Optionen

IdHTTP-Post - wie richtige Zeilenumbrüche machen?

Ein Thema von Caps · begonnen am 19. Nov 2010 · letzter Beitrag vom 19. Nov 2010
 
Caps

Registriert seit: 23. Mär 2006
Ort: Leipzig
299 Beiträge
 
#1

IdHTTP-Post - wie richtige Zeilenumbrüche machen?

  Alt 19. Nov 2010, 10:25
Hi,

ich versuche mit IdHTTP einen POST an einen Server abzusetzen.

Code:
procedure TForm1.Button2Click(Sender: TObject);
var
   dummy : TStringList;
   Stream_ : TIdMultipartFormDataStream;
   BufferStr : String;
begin
dummy := TStringList.Create;
With dummy do begin
     Text :=
     '----------111910102236687'#10+                         // die "---<timecode>"s müssen vermutlich nicht sein, gel?
     'Content-Disposition: form-data; name="Postvariable1"'#10+
     'Inhalt A'#10+
     '----------111910102236687'#10+
     'Content-Disposition: form-data; name="Postvariable2"'#10+
     'Inhalt 2'#10+
     '----------111910102236687';
              end;

With IdHTTP1 do begin
     Host := Edit1.Text;
     Port := 8134; // das muss so sein
     HTTPResponse := Post('/' + Edit2.Text, dummy);
                end;

TntMemo1.Text := HTTPResponse;

dummy.Free;
Stream_.Free;
end;
Ich habe mir SmartSniff runtergeladen und schaue mir an, was der Client hier abschickt:

Code:
POST /montvideo/post_test.php HTTP/1.0
Connection: close
Content-Type: text/xml;charset=UTF-8
Content-Length: 201
Host: 178.63.56.2:8134
Accept: text/html, */*
Accept-Encoding: gzip,deflate
User-Agent: Mozilla/3.0 (compatible; Indy Library)

----------111910102236687&Content-Disposition: form-data; name="Postvariable1"&Inhalt A&----------111910102236687&Content-Disposition: form-data; name="Postvariable2"&Inhalt 2&----------111910102236687
Leider keine Zeilenumbrüche da.
Wenn ich in meinen POST-Text oben #13#10 einfüge, verdoppeln sich die Ampersand-Zeichen und es kommen Zeilenumbrüche hinzu, ich brauche aber in dem was wirklich abgeschickt wird einfach nur Zeilenumbrüche und keine Ampersand-Zeichen (ich habe schon den Output von TIdMultipartFormDataStream gesnifft, da waren einfach nur Zeilenumbrüche und keine Ampersand-Zeichen zu sehen).

Zwei Fragen:
1) Sehe ich das korrekt, dass in dem realen(!) Output des http-Klienten (also das was raus geht) keine &'s drin sind?
2) Wie kriege ich das hin, dass bei mir auch keine drin sind?

Ich will weiter die POST-Methode mit der Signatur (URL: String, Inhalt: TStrings) verwenden, also nicht mit einem Stream arbeiten, denn es muss auch möglich sein, Formulardaten per Hand zu definieren (- ähm - oder? ).

Es dankt und grüßt
Caps
"Der Mode cmCFS8 ist prohibitär und von mir entwickelt."
  Mit Zitat antworten Zitat
 


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 03:42 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