Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Indy - Encoding Problem (https://www.delphipraxis.net/203259-indy-encoding-problem.html)

Minz3 29. Jan 2020 13:06

Delphi-Version: 10.1 Berlin

Indy - Encoding Problem
 
Hey ho,

ich hatte mir das Indy 10 HTTP(S) Tutorial durchgelesen und bin auch so alles in allem gut damit klar gekommen.
An einer Stelle stolpere ich allerdings etwas und zwar bei der POST Methode.

Ich hab den Code aus dem Tutorial übernommen und etwas angepasst:
Delphi-Quellcode:
procedure TProgWebAppFrm.HTTPPost(Username : String; Password : String; Database : String);
var
  Params: TStringList;
  Enc: TEncoding;
  ResponseStr: string;

begin
  with TIdHTTP.Create(nil) do
  try
    Request.ContentType := 'application/x-www-form-urlencoded';

    Params := TStringList.Create;
    try
      with Params do
      begin
        Add('username=' + Username);
        Add('password=' + Password);
        Add('database=' + Database);
      end;

      // Request.CharSet vorher setzten: z.B: ISO-8859-1
      Enc := CharsetToEncoding(Request.CharSet);
      try
        // Daten senden
        ResponseStr := Post('https://nb1819157:5001/login?', Params, Enc);
      finally
        Enc.Free;
      end;

    finally
      Params.Free;
    end;
  finally
    Free;
  end;
end;
An folgender Stelle:
Delphi-Quellcode:
Enc := CharsetToEncoding(Request.CharSet);
Kommt nun der Fehler, dass die Typen TEncoding und IIdTextEncoding nicht miteinander kompatibel sind. Das verstehe ich soweit auch, aber wie wurde das dann im Tutorial gemacht? Es schien ja so mal funktioniert zu haben. Wurden mit der Zeit Libraries angepasst so das die Inkompabilität jetzt zustande kommt?

Habt ihr da noch eine Idee? Bisher habe ich das dazu gefunden, weiß aber nicht genau was damit anzufangen. Gibt es inzwischen eine andere Methode, um das Encoding zu übermitteln?

Grüße!


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:40 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