AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Delphi und https - TIdHTTP vs. THttpClient
Thema durchsuchen
Ansicht
Themen-Optionen

Delphi und https - TIdHTTP vs. THttpClient

Ein Thema von Gausi · begonnen am 24. Apr 2019 · letzter Beitrag vom 3. Mai 2019
 
Benutzerbild von Gausi
Gausi

Registriert seit: 17. Jul 2005
901 Beiträge
 
Delphi 11 Alexandria
 
#1

Delphi und https - TIdHTTP vs. THttpClient

  Alt 24. Apr 2019, 12:43
Da die Beteiligung "drüben" in der EE etwas mau ist, frage ich hier nochmal nach ...

In meinem mp3-Player parse ich für die Suche nach Liedtexten eine Webseite. Das ist mal wieder "kaputt". Zum einen wurde der Quelltext der Seite geändert (d.h. ich muss das parsen des html-Codes anpassen), zum anderen wurde die Seite komplett von http auf https umgestellt. Jetzt muss ich also gucken, wie ich da am besten Zugriff kriege.

Möglichkeit 1: Weiter mit Indy, einem IOHandler, und die OpenSSL-Libraries mitliefern. Findet man ja genug Code-Beispiele, und habe ich auch schon mal woanders so genutzt.

Möglichkeit 2: THttpClient aus den neuen Delphi-Versionen nutzen (System.Net.URLClient, System.Net.HttpClient). Dabei werden wohl die bei Windows mitgelieferten Bibliotheken dafür genutzt. Macht ggf. unter nicht voll gepatchten Windows-7 Probleme, aber das bekommt man in den Griff, wenn man explizit die neueren Protokolle setzt, was unter W7 per Default nicht gemacht wird, also
HttpClient.SecureProtocols := [THTTPSecureProtocol.TLS12, THTTPSecureProtocol.TLS11]; Zusätzlich gibt es da noch einen anderen Bug in Tokyo, der bei bestimmten URLs (anscheinend bei URL-kodierten Umlauten in der URL?) eine Exception schmeißt, was aber in Rio behoben ist. Das ist wohl noch nicht so ganz ausgereift ...

Da ich unerfahren auf dem Gebiet bin - gibt es da irgendwo noch versteckte Fallstricke? Oder was sind die Vor- und Nachteile der beiden Varianten? Generell muss ich da auch etwas mehr im Code umbauen, da z.B. bei einem 404 Indy eine Exception wirft, der HttpClient aber nicht ...

So wie ich das sehe, muss ich bei (1) zusätzliche Dateien ausliefern, und muss mich ggf. um das patchen kümmern, wenn es da Sicherheitsprobleme gibt. Bei (2) schiebe ich das komplett auf das Betriebssystem, muss dann aber mindestens Windows 7 (?) voraussetzen. Beides sind ja keine besonders dicken Einschränkungen - ich würde aktuell (2) vorziehen. Was meint ihr?

(Crosspost Entwickler-Ecke)
Being smart will count for nothing if you don't make the world better. You have to use your smarts to count for something, to serve life, not death.
  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 06:43 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