Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Tutorials und Kurse (https://www.delphipraxis.net/36-tutorials-und-kurse/)
-   -   Indy 10 HTTP(S) Protokoll (https://www.delphipraxis.net/160152-indy-10-http-s-protokoll.html)

Sherlock 12. Sep 2018 13:10

AW: Indy 10 HTTP(S) Protokoll
 
Randbemerkung: Um OpenSSL kann man aber nur einen Bogen machen, wenn man nicht plattformübergreifend entwickeln will.

Sherlock

Hobbycoder 12. Sep 2018 13:14

AW: Indy 10 HTTP(S) Protokoll
 
Zitat:

Zitat von Rolf Frei (Beitrag 1413019)
Ja. Um OpenSSL würde ich, wenn möglich, einen grossen Bogen machen. Die System.Net Funktionen laufen nativ auf Windows und brauchen daher kein OpenSSL.

Das ist schön zu wissen. Mich hat das immer gestört, fremde DLL's mit auszuliefern.
Wobei ich jetzt aber auch dazu sagen muss, dass ich mit Indy+OpenDLL nie wirklich Probleme hatte, außer denen die ich selbst reinprogrammiert habe ;-)

hoika 12. Sep 2018 13:38

AW: Indy 10 HTTP(S) Protokoll
 
Hallo,
zu Redirects findest Du für Indy hier was

https://stackoverflow.com/questions/...rl-redirection

CCRDude 12. Sep 2018 17:39

AW: Indy 10 HTTP(S) Protokoll
 
Zitat:

Zitat von Rolf Frei (Beitrag 1413019)
Ja. Um OpenSSL würde ich, wenn möglich, einen grossen Bogen machen. Die System.Net Funktionen laufen nativ auf Windows und brauchen daher kein OpenSSL.

Nativ kann aber auch von Nachteil sein. Gerade erst erlebt, auf dem Server wollten wir veralterte TLS-Versionen abschalten - ging aber noch nicht, da die Software nativ zugreift und damit auf altem Windows noch ein altes TLS verwendet.

Minz3 27. Jan 2020 12:38

AW: Indy 10 HTTP(S) Protokoll
 
Hey ho,

danke für das Tutorial, es hat mir gut geholfen!

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?

hoika 29. Jan 2020 13:34

AW: Indy 10 HTTP(S) Protokoll
 
Hallo,
du hast den Kommentar überlesen?

// Request.CharSet vorher setzten: z.B: ISO-8859-1

Minz3 29. Jan 2020 14:32

AW: Indy 10 HTTP(S) Protokoll
 
Zitat:

Zitat von hoika (Beitrag 1456264)
Hallo,
du hast den Kommentar überlesen?

// Request.CharSet vorher setzten: z.B: ISO-8859-1

Scheinbar hab ich das einfach hingenommen.
Wird der ganz einfach mit
Delphi-Quellcode:
Request.CharSet := 'UTF-8';
gesetzt oder muss ich da noch was beachten?

*Edit:
Auch wenn das Charset gesetzt wäre, also nur mal angenommen, so wäre es vom Typ immer noch IIdTextEncoding und damit noch inkompatibel zu TEncoding. Eine Idee, wie ich das beheben kann?

hoika 30. Jan 2020 00:06

AW: Indy 10 HTTP(S) Protokoll
 
Hallo,
da bin ich raus ;)
Müsste mal auf Arbeit nachsehen, was ich da so gesetzt hatte.


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:18 Uhr.
Seite 2 von 2     12   

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