AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Basiert TRESTClient WIRKLICH auf Indy?
Thema durchsuchen
Ansicht
Themen-Optionen

Basiert TRESTClient WIRKLICH auf Indy?

Ein Thema von Codehunter · begonnen am 29. Okt 2018 · letzter Beitrag vom 29. Okt 2018
Antwort Antwort
Benutzerbild von Codehunter
Codehunter

Registriert seit: 3. Jun 2003
Ort: Thüringen
2.272 Beiträge
 
Delphi 10.4 Sydney
 
#1

Basiert TRESTClient WIRKLICH auf Indy?

  Alt 29. Okt 2018, 12:03
Hallo!

Ich bin seit einiger Zeit über eine Aussage in der Emba-Doku zu den REST-Komponenten verwirrt:
Zitat:
TRESTClient ist so konzipiert, dass alle HTTP-bezogenen Exceptions so lange verborgen werden, wie die Exception durch HTTP-Standardcode dargestellt werden kann. Der Client löst nur "harte" Exceptions aus, wie z. B. fehlende Clientbibliotheken bei einer TLS/SSL-Verbindung, Verbindungsfehler usw. Das Framework arbeitet mit den bekannten Komponenten von Indy (Internet Direct). Unter Sichern von Indy-Netzwerkverbindungen, Voraussetzungen finden Sie Anweisungen zur Installation der Clientbibliotheken für TLS/SSL-Verbindungen.
Wenn ich aber in die entsprechenden Units schaue (REST.Client, REST.HTTPClient) so sehe ich dort nichts von Indy. Irritierend auch, dass man zur Konfiguration bestimmter SSL/TLS-Parameter sich der Winapi direkt bedienen muss(te, vor Tokyo) und eben nicht über Properties wie bei TIdSSLIOHandlerSocketOpenSSL . Das wäre dann ja nicht plattformunabhängig, doch compilerabhängige Uses sehe ich auch nirgends. Vielleicht könnte mich ja mal jemand erleuchten.

Grüße
Cody
Ich mache grundsätzlich keine Screenshots. Schießen auf Bildschirme gibt nämlich hässliche Pixelfehler und schadet der Gesundheit vom Kollegen gegenüber. I und E zu vertauschen hätte den selben negativen Effekt, würde aber eher dem Betriebsklima schaden

Geändert von Codehunter (29. Okt 2018 um 12:05 Uhr)
  Mit Zitat antworten Zitat
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.919 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: Basiert TRESTClient WIRKLICH auf Indy?

  Alt 29. Okt 2018, 12:13
Nicht mehr.
Die REST-Komponenten in XE5 bis XE7 basierten auf den INDY-Komponenten, beinhalteten damals aber schon eine Abstraktionsschicht dazwischen, um die Komponenten tauschen zu können. Mittlerweile hängen die Net-Komponenten dazwischen, die dann auf den jeweiligen Plattformen nativ arbeiten.
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.690 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Basiert TRESTClient WIRKLICH auf Indy?

  Alt 29. Okt 2018, 12:16
Emba überlässt es Dir wie Du eine verschlüßelte Verbindung aufbaust.
Da Indy integeriert ist, bietet es sich dafür an.

Hier ein mini Beispiel (ohne Indy & ohne SSL) *klick mich*
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.919 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Basiert TRESTClient WIRKLICH auf Indy?

  Alt 29. Okt 2018, 12:20
Nein, deine Antwort ist inhaltlich falsch.
Die REST-Komponenten basierten entweder auf den INDY-Komponenten (früher) oder auf den nativen Komponenten (jetzt). Entweder - oder. Eine Wahl hatte der Entwickler im Zusammenhang mit diesen Komponenten nie.
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
Benutzerbild von Codehunter
Codehunter

Registriert seit: 3. Jun 2003
Ort: Thüringen
2.272 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: Basiert TRESTClient WIRKLICH auf Indy?

  Alt 29. Okt 2018, 12:34
Also ist die Erklärung, dass das schlicht eine noch nicht korrigierte Altlast in der Emba-Doku in der deutschsprachigen Version ist. Jetzt wo ich drauf gestoßen wurde habe ich im englischen Bereich geschaut und siehe da, dort steht was anderes:
Zitat:
TRESTClient is built to hide any HTTP-related exceptions as long as the exception can be represented by a standard HTTP code. The client only throws 'hard' exceptions, connection failures, and so on. The framework operates on the newer TNetHTTPClient, which is based on system HTTP client sockets. This allows it to leverage the OS's ability to automatically resolve and deal with SSL/TLS/HTTPS.
Ich mache grundsätzlich keine Screenshots. Schießen auf Bildschirme gibt nämlich hässliche Pixelfehler und schadet der Gesundheit vom Kollegen gegenüber. I und E zu vertauschen hätte den selben negativen Effekt, würde aber eher dem Betriebsklima schaden
  Mit Zitat antworten Zitat
Benutzerbild von Codehunter
Codehunter

Registriert seit: 3. Jun 2003
Ort: Thüringen
2.272 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: Basiert TRESTClient WIRKLICH auf Indy?

  Alt 29. Okt 2018, 12:44
Eine weitere Frage in dem Zusammenhang: Ich bin eigentlich ein Freund von den Indy-Komponenten, vor allem auch wegen der Flexibilität. Ist es zum jetzigen Zeitpunkt noch eine gute Idee, anstelle von TRestClient/TRESTRequest auf Indy und TJSONObject zu setzen?
Ich mache grundsätzlich keine Screenshots. Schießen auf Bildschirme gibt nämlich hässliche Pixelfehler und schadet der Gesundheit vom Kollegen gegenüber. I und E zu vertauschen hätte den selben negativen Effekt, würde aber eher dem Betriebsklima schaden
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#7

AW: Basiert TRESTClient WIRKLICH auf Indy?

  Alt 29. Okt 2018, 12:56
Ehrlich gesagt sind wir bei uns von Indy jetzt komplett auf die nativen Komponenten umgestiegen.
Weniger Abhängigkeiten und ich persönlich finde sie besser und um einiges einfacher als die Indies.
Und für SSL braucht man dann auch nicht mehr die SSL-DLLs. Man übergibt eine url mit https statt http und es klappt.
Kein IOHandler, keine SSL-DLLs, etc.
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  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 16:36 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