AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke TIdHTTP zu THTTPClient umschreiben, THttpClient ableiten und Get() überschreiben
Thema durchsuchen
Ansicht
Themen-Optionen

TIdHTTP zu THTTPClient umschreiben, THttpClient ableiten und Get() überschreiben

Ein Thema von DieDolly · begonnen am 9. Apr 2022 · letzter Beitrag vom 10. Apr 2022
Antwort Antwort
DieDolly

Registriert seit: 22. Jun 2018
2.175 Beiträge
 
#1

AW: TIdHTTP zu THTTPClient umschreiben, THttpClient ableiten und Get() überschreiben

  Alt 10. Apr 2022, 08:35
Direkt beim HttpClient.Get().
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.589 Beiträge
 
Delphi 7 Professional
 
#2

AW: TIdHTTP zu THTTPClient umschreiben, THttpClient ableiten und Get() überschreiben

  Alt 10. Apr 2022, 10:08
Nutzt Du die aktuellsten Versionen von Indy und OpenSSL? Etwas ältere Versionen kommen nicht mit allen HTTPS-Protokollen zurecht.

Das Problem hatte ich vor 'ner Weile auch, habe die aktuellen Versionen von Indy und OpenSSL genommen und schon geht's wieder. Und das bei meinem ollen Delphi 7.

Im Zweifelsfalle schau bitte mal bei https://www.ssllabs.com/ssltest/analyze.html nach, welche Protokolle die Webseiten, die bei Dir mit TIdHTTP nicht funktionieren, nutzen und prüfe, ob Deine Indy-Version damit zurecht kommt. Etliche Seiten unterstützen nur noch TLS 1.2 und das ist bei älteren Indy-Versionen noch nicht dabei.

Ein weiteres Problem könnte der Inhalt von TIDHTTP.Request.UserAgent sein. Trag da bitte mal was aktuelles ein. Etliche Server antworten bei zu "alten" UserAgents mit HTTP-Code 404 = "Seite nicht gefunden". Bei UserAgents älter als 'Mozilla/5.0 (Windows NT 5.1; rv:52.0) Gecko/20100101 Firefox/52.0' klappt es oft nicht mehr so recht.
Einige mögliche Werte für FireFox kannst Du hier finden: https://developer.mozilla.org/en-US/...-Agent/Firefox.
Für Chrome hier: https://developer.chrome.com/docs/mu...ce/user-agent/.
Bunt gemischtes ist hier zu finden: https://beamtic.com/user-agents/.

Eine nicht ganz aktuelle Liste als Unit:
Delphi-Quellcode:
unit ToolsUserAgentConsts;

interface

// Quelle: https://developers.whatismybrowser.com/useragents/explore/software_name/firefox/
const
  csUserAgentMac = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10; rv:33.0) Gecko/20100101 Firefox/33.0';
  csUserAgentNT5130 = 'Mozilla/5.0 (Windows NT 5.1; rv:30.0) Gecko/20100101 Firefox/30.0';
  csUserAgentNT5133 = 'Mozilla/5.0 (Windows NT 5.1; rv:33.0) Gecko/20100101 Firefox/33.0';
  csUserAgentNT5136 = 'Mozilla/5.0 (Windows NT 5.1; rv:36.0) Gecko/20100101 Firefox/36.0';
  csUserAgentNT5140 = 'Mozilla/5.0 (Windows NT 5.1; rv:40.0) Gecko/20100101 Firefox/40.0';
  csUserAgentNT51701 = 'Mozilla/5.0 (Windows NT 5.1; rv:7.0.1) Gecko/20100101 Firefox/7.0.1';
  csUserAgentNT6034 = 'Mozilla/5.0 (Windows NT 6.0; rv:34.0) Gecko/20100101 Firefox/34.0';
  csUserAgentNT6117 = 'Mozilla/5.0 (Windows NT 6.1; rv:17.0) Gecko/20100101 Firefox/20.6.14';
  csUserAgentNT6152 = 'Mozilla/5.0 (Windows NT 6.1; rv:52.0) Gecko/20100101 Firefox/52.0';
  csUserAgentNT6125 = 'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:25.0) Gecko/20100101 Firefox/29.0';
  csUserAgentNT6157 = 'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:57.0) Gecko/20100101 Firefox/57.0';
  csUserAgentNT6161 = 'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:61.0) Gecko/20100101 Firefox/61.0';
  csUserAgentNT6117b = 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20100101 Firefox/17.0';
  csUserAgentNT6118 = 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:18.0) Gecko/20100101 Firefox/18.0';
  csUserAgentNT6138 = 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Firefox/38.0';
  csUserAgentNT6140 = 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:40.0) Gecko/20100101 Firefox/40.1';
  csUserAgentNT6141 = 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:41.0) Gecko/20100101 Firefox/41.0';
  csUserAgentNT6142 = 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:42.0) Gecko/20100101 Firefox/42.0';
  csUserAgentNT6143 = 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:43.0) Gecko/20100101 Firefox/43.0';
  csUserAgentNT6147 = 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:47.0) Gecko/20100101 Firefox/47.0';
  csUserAgentNT6150 = 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:50.0) Gecko/20100101 Firefox/50.0';
  csUserAgentNT6152b = 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0';
  csUserAgentNT6154 = 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:54.0) Gecko/20100101 Firefox/54.0';
  csUserAgentNT6373 = 'Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:73.0) Gecko/20100101 Firefox/73.0';
  csUserAgentNT1057 = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:57.0) Gecko/20100101 Firefox/57.0';
  csUserAgentNT1059 = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:59.0) Gecko/20100101 Firefox/59.0';
  csUserAgentNT1060 = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:60.0) Gecko/20100101 Firefox/60.0';
  csUserAgentNT1061 = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:61.0) Gecko/20100101 Firefox/61.0';
  csUserAgentNT1062 = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:62.0) Gecko/20100101 Firefox/62.0';
  csUserAgentNT1063 = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:63.0) Gecko/20100101 Firefox/63.0';
  csUserAgentNT1065 = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:65.0) Gecko/20100101 Firefox/65.0';
  csUserAgentNT1066 = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:66.0) Gecko/20100101 Firefox/66.0';
  csUserAgentNT1067 = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:67.0) Gecko/20100101 Firefox/67.0';
  csUserAgentNT1078 = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0';
  csUserAgentNT1084 = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:84.0) Gecko/20100101 Firefox/84.0';
  csUserAgentNT1085 = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:85.0) Gecko/20100101 Firefox/85.0';
  csUserAgentNT1088 = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:88.0) Gecko/20100101 Firefox/88.0';
  csUserAgentNT1089 = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:89.0) Gecko/20100101 Firefox/89.0';
  csUserAgentNT1090 = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:90.0) Gecko/20100101 Firefox/90.0';
  csUserAgentNT1091 = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Firefox/91.0';
  csUserAgentNT1092 = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:92.0) Gecko/20100101 Firefox/92.0';
  csUserAgentNT1093 = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:93.0) Gecko/20100101 Firefox/93.0';
  csUserAgentNT1094 = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:94.0) Gecko/20100101 Firefox/94.0';
  csUserAgentNT1095 = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:95.0) Gecko/20100101 Firefox/95.0';
  csUserAgentNT1050 = 'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:50.0) Gecko/20100101 Firefox/50.0';
  csUserAgentNT1052 = 'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0';
  csUserAgentNT1054 = 'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:54.0) Gecko/20100101 Firefox/54.0';
  csUserAgentNT51175 = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.5) Gecko/20041107 Firefox/1.0';
  csUserAgentNT511712 = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.12) Gecko/20050915 Firefox/1.0.7';
  csUserAgentLinux24 = 'Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:24.0) Gecko/20100101 Firefox/24.0';

implementation

end.
  Mit Zitat antworten Zitat
DieDolly

Registriert seit: 22. Jun 2018
2.175 Beiträge
 
#3

AW: TIdHTTP zu THTTPClient umschreiben, THttpClient ableiten und Get() überschreiben

  Alt 10. Apr 2022, 10:25
Zitat:
Im Zweifelsfalle schau bitte mal bei https://www.ssllabs.com/ssltest/analyze.html nach, welche Protokolle die Webseiten, die bei Dir mit TIdHTTP nicht funktionieren, nutzen und prüfe, ob Deine Indy-Version damit zurecht kommt
Daran liegt es nicht. https://www.opitec.de/opitec-web/st/Home ist beispielsweise aus dem gesamten Netzwerk, egal ob aus einer Software oder von Firefox, Chrome usw., nicht erreichbar - nur mit Proxies.

ich würde sehr gerne auf THTTPClient umsteigen statt da rumzudoktorn. Das wäre ansich ja auch kein Problem, wenn ich eine Ableitung von THTTPClient hinbekommen würde.
  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 09:32 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