AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Umstellung auf https: Wie geht jetzt UrlExists, Get, Shellexecute
Thema durchsuchen
Ansicht
Themen-Optionen

Umstellung auf https: Wie geht jetzt UrlExists, Get, Shellexecute

Ein Thema von Theseus · begonnen am 18. Feb 2024 · letzter Beitrag vom 18. Feb 2024
Antwort Antwort
Theseus

Registriert seit: 21. Jun 2011
20 Beiträge
 
Delphi 10.2 Tokyo Architect
 
#1

Umstellung auf https: Wie geht jetzt UrlExists, Get, Shellexecute

  Alt 18. Feb 2024, 12:35
Meine PICOLAY-Website wurde auf HTTPS umgestellt. Jetzt funktionieren die Internetzugriffe aus dem Programm heraus nicht mehr.

Delphi-Quellcode:
procedure TForm1.ShowPICOLAYhomepage1Click(Sender: TObject);
begin
     try
        if UrlExists('https://www.picolay.de/whatsnew.htm', true) then
        begin
             ShellExecute(Application.Handle, 'open',
             PChar('https://www.picolay.de'), nil, nil,
             SW_ShowNormal);
        end;
     except
        MessageDlg('Sorry, [url]www.picolay.de[/url] not found' , mtConfirmation, [mbok], 0);
     end;
end;



procedure CheckforNewVersion;
var
 MyIdHTTP: TIdHTTP;
 currentversion, webversion : string;
 connected : boolean;
begin
     connected := false;
     try
        connected := UrlExists('https://www.picolay.de/latestversion.txt', true);
     except;
     end;
     if connected then
     begin
          currentversion := '20240215';
          webversion := '0';
          MyIdHTTP := TIdHTTP.Create(Form1);
          try
             webversion := MyIdHTTP.Get('https://www.picolay.de/latestversion.txt');
             finally
             FreeAndNil(MyIdHTTP);
          end;
          if webversion > currentversion then
          begin
            MessageDlg('New free version of PICOLAY available! Please'
             +#13+ 'download from [url]www.picolay.de[/url] as soon as possible.' , mtinformation, [mbok], 0);
          end;
    end;
end;
Wer hilft mir bei der Umstellung des Codes? Bin aus der Generation, für die das Internet Neuland ist

Vielen Dank,
Theseus

Geändert von Theseus (18. Feb 2024 um 17:03 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.647 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Umstellung auf https: Wie geht jetzt UrlExists, Get, Shellexecute

  Alt 18. Feb 2024, 13:29
Statt UrlExists kannst du auch MyIdHttp.Head verwenden. Das ruft nur den Header ab, so dass man weiß, ob die Adresse ein gültiges Ergebnis liefert.

Um dabei https zu verwenden, benötigst du die OpenSSL Bibliotheken sowie einen entsprechenden IO Handler. Dazu gibt es schon etwas in der Doku:
https://docwiki.embarcadero.com/RADS...rk_Connections
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#3

AW: Umstellung auf https: Wie geht jetzt UrlExists, Get, Shellexecute

  Alt 18. Feb 2024, 14:03
Bein Indy muß man doch für HTTPS erst noch die nötige SSLLib hinzufügen?
https://stackoverflow.com/questions/...10-3-with-indy

Versuch einfach mal das neue delphieigene TNetHTTPClient anstatt TIdHTTP,
Dort den Parameter SecureProtocols beachten.

Was macht eigentlich URLExits?

Head ist nicht nötig, da die Datei so klein ist, dass auch direkt GET verwendet kann, anstatt doppelt abzufragen. (der Head ist hier um ein Vielfaches größer, als die eigentlichen 8 Byte an Daten)

Wozu überhaupt erst auf Exists prüfen, anstatt direkt runtertuladen? So oder so machst du da doch unnötig mehrfache abfragen.

Und wenn du Angst hast es könnte etwas hängen (die GUI), dann mach's doch in einem Thread.


PS: Wie schön könnte man den Code lesen, mit einem [/DELPHI]...[/DELPHI] drumrum.
$2B or not $2B

Geändert von himitsu (18. Feb 2024 um 14:41 Uhr)
  Mit Zitat antworten Zitat
DieDolly

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

AW: Umstellung auf https: Wie geht jetzt UrlExists, Get, Shellexecute

  Alt 18. Feb 2024, 14:28
Ich würde für sowas die Overbyte-Komponenten nutzen, vergiss Indy.

https://wiki.overbyte.eu/wiki/index.php/ICS_Download
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.647 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Umstellung auf https: Wie geht jetzt UrlExists, Get, Shellexecute

  Alt 18. Feb 2024, 15:13
Indy muss man aber nicht zusätzlich einbinden, sondern ist bei Delphi dabei. Das ist für spätere Updates der Delphiversion einfacher. Insofern sehe ich, auch wenn ich ICS selbst gut finde, für diesen Zweck hier keinen Grund für einen Umstieg.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
DieDolly

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

AW: Umstellung auf https: Wie geht jetzt UrlExists, Get, Shellexecute

  Alt 18. Feb 2024, 15:17
Delphi-Updates kommen so selten, bis dahin wurde ICS schon 3x aktualisiert und angepasst.
  Mit Zitat antworten Zitat
Theseus

Registriert seit: 21. Jun 2011
20 Beiträge
 
Delphi 10.2 Tokyo Architect
 
#7

AW: Umstellung auf https: Wie geht jetzt UrlExists, Get, Shellexecute

  Alt 18. Feb 2024, 17:00
Herzlichen Dank für die freundlichen Antworten! Ich sehe schon, das ist kein ganz einfaches Teilprojekt, dem ich mich etwas ausführlicher werde widmen müssen. Tatsächlich habe ich schon eine Zwischenlösung gefunden: Ich konnte beim Provider für meine Domain einstellen: HTTPS-Modus nicht erzwingen. Damit lässt sich der alte Code noch ohne Fehlermeldung nutzen
  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 18:13 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