我想在Delphi西雅圖的TIdHTTP.Get中下載一個文件。這是一個android應用程序,我所有的嘗試都失敗了。所有我得到它是相同的錯誤「無法加載SSL庫」。這是程序:使用TidHTTP在Android上加載「無法加載SSL庫」錯誤
procedure TfrmMain.DownloadPicture(const AURL: string);
var
MeS: TMemoryStream;
cidSSL: TIdSSLIOHandlerSocketOpenSSL;
cidHTTP: TIdHTTP;
begin
cidHTTP:= TIdHTTP.Create(nil);
cidSSL:= TIdSSLIOHandlerSocketOpenSSL.Create(nil);
Mes := TMemoryStream.Create;
try
cidHTTP.ReadTimeout := 30000;
cidHTTP.IOHandler := IdSSL;
cidSSL.SSLOptions.Method := sslvSSLv3;
cidSSL.SSLOptions.Mode := sslmUnassigned;
cidSSL.StartSSL;
cidHTTP.Get(AURL, Mes);
except
on E : Exception do
begin showmessage('Error: '+E.Message);
end;
end;
Mes.Position := 0;
frmImage.Image.Bitmap.LoadFromStream(Mes);
end;
謝謝雷米!我正在使用Android 6棉花糖。到現在爲止,我不得不找出解決問題的另一種解決方法,但我肯定會在將來再次面對這個問題,並且您的答案會有所幫助。 – wordermorr
感謝您的更新! – wordermorr
我很沮喪,我很生氣,我很絕望。我討厭Google這樣做。我討厭Embarcadero沒有選擇在Android 6上使用SSL/TLS(這是今天的死刑......應用程序沒有網絡加密?你好?)。我一直在用Delphi來努力的一個原因。總是有這麼大的問題。另一方面,我明白Google的決定背後的重點是讓一切都通過他們的操作系統。德爾福總是很特別(不是原生的等)。更多的是,我很高興有像雷米這樣有幫助的人和發現這些文件的人。至少谷歌正確地稱他們的叉子:BoringSSL。 – StanE