![]() |
Clever Internet Suite HTTPS Problem
Hi.
Ich arbeite mit Delphi7. Ich habe die Clever Internet Suite entdeckt. So weit gefällt mir die Suite sehr gut. Ich komme allerdings bei HTTPS nicht weiter. Ich versuche so gut wie möglich das Problem zu schildern. Ich erstelle ganz normal eine VCL Anwendung. Auf der Form platziere ich clHTTP1. Ich setze die Eigenschaften - UseTLS auf ctAutomatic - LSFlags tfUseTLS auf Ttrue Nun lade ich eine HTTPS Seite und bekomme mein Response. So wie es sein sollte. zB. diese Seite ![]()
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var Response: TStrings; begin Memo1.Lines.Clear(); Response := TStringList.Create(); try clHttp1.Get(edtUrl.Text, Response); if SameText('UTF-8', clHttp1.ResponseHeader.CharSet) then Memo1.Lines.Text := TclTranslator.TranslateFromUtf8(Response.Text) else Memo1.Lines.Assign(Response); finally Response.Free(); end; end Nun zu meinem Problem. Ich versuche es in eine Unit auszulagern und das Gsanze zur Laufzeit zu erstellen. Hier komme mit mit den Flags nicht klar. Hier das relevante Teil von der Unit.
Delphi-Quellcode:
Ich habe die ganze Hilfe durchstöbert und auch ordentlich gegoogelt.
unit cIHTTP_GET_POST;
interface uses Windows, SysUtils, Classes, clTcpClient, clHttp, clHtmlParser, clHttpRequest, ShellAPI, clSspiTls; function clHTTP_GET(const URL: string; TimeOut: Integer): UTF8String; implementation uses Splitter; function clHTTP_GET(const URL: string; TimeOut: Integer): UTF8String; var Response : TStrings; clHttp1 : TclHttp; begin Response := TStringList.Create(); clHttp1 := TclHttp.Create(nil); clHttp1.TimeOut := TimeOut * 1000; clHttp1.UseTLS := ctAutomatic; clHttp1.TLSFlags := tfUseTLS; //Das ist der Fehler. Hiet müsste tfUseTLS auf True gesetzt werden. try clHttp1.Get(URL, Response); Result := Response.Text; finally FreeAndNil(Response); FreeAndNil(clHttp1); end; end; end. Leider finde ich nichts zu dem Thema. Es sollte später aus einem Thread heraus abgerufen werden deshalb sollte es zur Lsufzeit erstellt werden. Meine versuche sind leider gescheitert. Vielleicht hat Jemand ein Rat für mich. EDIT: Code korrigiert. Nun funktioniert es. |
AW: Clever Internet Suite HTTPS Problem
.. vielleicht, da es eine Option ist.
Delphi-Quellcode:
Grüße
clHttp1.TLSFlags := [tfUseTLS];
Klaus |
AW: Clever Internet Suite HTTPS Problem
Nein,so einfach ist es nicht.
Natürlich habe ich schon einiges probiert bevor ich gepostet habe. Das ist die Meldung auf deine Zeile. [Fehler] main.pas(52): Undefinierter Bezeichner: 'tfUseTLS' |
AW: Clever Internet Suite HTTPS Problem
neuer Versuch..
vielleicht musst Du noch die Unit clTlsSocket einbinden. Grüße Klaus |
AW: Clever Internet Suite HTTPS Problem
Nein leider bringt es auch nichts.
Ich habe auch schon damit versucht clCertificate, clCertificateStore, certfrm; Leider bringt es nichts. |
AW: Clever Internet Suite HTTPS Problem
Wenn eine Komponente zur Design-Zeit auf das Formular gelegt wird werden eine oder mehrere Units der uses-Klausel hinzugefügt. Prüfe daher einfach mal, welche Units aus dem funktionierenden Formular noch nicht in der Uses-Klauses der neuen Unit enthalten sind, und füge sie hinzu.
Die Chance, das das funktioniert, liegt bei 100 Prozent. Mindestens ;) |
AW: Clever Internet Suite HTTPS Problem
Das war das erste was ich versucht habe.
ich habe parallel eine Form erstellt. Die Komponente auf die Form gelegt. Die Funktion in die Form 2 hinzugefügt und verlinkt. In der Form2 die Option von clHTTP1 TLSFlags tfUseTLS auf True gesetzt. So funktioniert es. Nun nehme ich die ganze Deklaration von der Form2 und füge es der Unit hinzu. Nun taucht der Fehler auf. Damit habe ich dein Vorschlag in jeder Variante ausprobiert. Es bringt nichts. Zitat:
EDIT: Ich habe es gefunden. Danke für die Unterstützung. So ein Dreck. Nirgendwo kann man es nachlesen. Es muss clSspiTls deklariert werden. Nun läuft es. |
AW: Clever Internet Suite HTTPS Problem
Ich schätze, dass die Typ- oder Konstantendefinition für tfUseTLS in einer Unit versteckt ist, die nicht automatisch mit dem Hinzufügen der Komponente eingefügt wird.
Daher würde ich als erstes prüfen welche Unit dies tatsächlich ist. |
AW: Clever Internet Suite HTTPS Problem
Du hast meine Antwort übersehen.
Ich habe es gefunden. Problem gelöst. |
AW: Clever Internet Suite HTTPS Problem
Dein Edit geschah einer Minute nach meiner Antwort. :cyclops:
Hauptsache gelöst! :-D |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:29 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 by Thomas Breitkreuz