+ Rispondi al Thread
Visualizzazione dei risultati da 1 a 2 su 2

Discussione: Errore su libreria Indy: Could not load SSL library

  1. #1
    L'avatar di systemgvp
    systemgvp non è in linea Scribacchino
    Post
    582

    Errore su libreria Indy: Could not load SSL library

    da qualche giorno quando cercavo di scaricare un file con indy su un computer mi appariva l'errore

    HTTP/1.1 301 Moved Permanently
    che avevo risolto aggiungendo il componente IdSSLIOHandlerSocketOpenSSL1 e collegandolo all'IdHTTP1 nella proprietà IOHandler, e aggiungendo questo codice:

    codice:
    IdHTTP1.HandleRedirects   := True;
    su quel computer ora non appare più quel codice di errore ma un altro

    Could not load SSL library
    mentre il primo codice di errore continua ad apparire su un altro computer senza apparente motivo. Il codice che uso è questo:




    //scarica il file
    try
    //se il file e' gia' presente lo elimina
    if FileExists(CartellaPrincipale+'map.osm') then DeleteFile(pchar(CartellaPrincipale + 'map.osm'));
    //imposta il file scaricato
    FileStream := TFileStream.Create(CartellaPrincipale + 'map.osm', fmCreate);
    try
    //invia la richiesta di download
    IdHTTP1.Request.UserAgent := 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:12.0) Gecko/20100101 Firefox/12.0';
    //se si ottiene l'errore ERROR 001 --> HTTP/1.1 301 Moved Permanently
    //aggiungere questa riga e il componente IdSSLIOHandlerSocketOpenSSL1
    //da associare a IdHTTP1 nella proprieta' IOHandler
    IdHTTP1.HandleRedirects := True;
    //invia la richiesta di download
    IdHTTP1.OnWork := ContenutoScaricato;
    IdHTTP1.Get('http://api.openstreetmap.org/api/0.6/map?bbox='+Lon_min_TXT.Text+','+Lat_min_TXT.Text+','+Lon_Max_TXT.Text+','+Lat_Max_TXT.Text, FileStream);
    //aggiorna la grafica
    Application.ProcessMessages;
    //apertura del file
    if FileExists(CartellaPrincipale+'map.osm') then ShowMessage('Download completato!'+#13#10+#13#10+'Download completed')
    else ShowMessage('File non scaricato'+#13#10+#13#10+'File not downloaded');
    except on E: Exception do
    begin
    ShowMessage(' ERROR 001 --> '+e.ToString);
    //se il file e' gia' presente lo elimina
    if FileExists(CartellaPrincipale+'map.osm') then DeleteFile(pchar(CartellaPrincipale + 'map.osm'));
    end;
    end;
    //libera la memoria
    FileStream.Free;
    except on E: Exception do
    begin
    ShowMessage(' ERROR 002 --> '+e.ToString);
    //se il file e' gia' presente lo elimina
    if FileExists(CartellaPrincipale+'map.osm') then DeleteFile(pchar(CartellaPrincipale + 'map.osm'));
    end;
    end;
    Embarcadero RAD Studio 10.2.3 Tokyo - con Pascal dal 1992

  2. #2
    L'avatar di _alka_
    _alka_ non è in linea Very Important Person
    Luogo
    Reggio Emilia
    Post
    1,151
    Quote Originariamente inviato da systemgvp Visualizza il messaggio
    che avevo risolto aggiungendo il componente IdSSLIOHandlerSocketOpenSSL1 e collegandolo all'IdHTTP1 nella proprietà IOHandler, e aggiungendo questo codice:
    su quel computer ora non appare più quel codice di errore ma un altro [...]
    L'errore è probabilmente dovuto al fatto che l'applicazione non riesce a caricare le librerie di OpenSSL.

    Hai provveduto a scaricare le suddette librerie?
    Se sì, le hai copiate nella directory dell'applicazione o in una directory indicata nella variabile di ambiente PATH di Windows?

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Homepage | Blog | Delphi Podcast | Delphi Succinctly (e-book)

+ Rispondi al Thread

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi