表單組件:
object IdHTTP1: TIdHTTP
IOHandler = IdSSLIOHandlerSocketOpenSSL1
AllowCookies = True
HandleRedirects = True
ProxyParams. BasicAuthentication = False
ProxyParams. ProxyPort = 0
Request. ContentLength =-1
Request. Accept = ' text/html, */*'
Request. BasicAuthentication = False
Request. UserAgent = ' Mozilla/3.0 (compatible; Indy Library)'
HTTPOptions = [hoForceEncodeParams]
Left = 40
Top = 32
end
object IdSSLIOHandlerSocketOpenSSL1: TIdSSLIOHandlerSocketOpenSSL
MaxLineAction = maException
Port = 0
DefaultPort = 0
SSLOptions. RootCertFile = ' D:\cert.pem'
SSLOptions. CertFile = ' D:\cert.pem'
SSLOptions. Method = sslvSSLv3
SSLOptions. Mode = sslmUnassigned
SSLOptions. VerifyMode = []
SSLOptions. VerifyDepth = 0
Left = 40
Top = 80
end
//表單代碼
Memo1.Text: = idhttp1.Get ('https://www.themoviedb.org/');
出現錯誤代碼
error:14094412:SSL routines:SSL3_READ_BYTES:sslv3 alert bad certificate '.
Process Project2.exe
不知道這個錯誤是咋回事?一直也沒找到問題的解決方法,請各位幫忙看看這個咋解決比較好。
或者哪位能決議https://www.themoviedb.org/這個網頁也行,用其他辦法決議https://www.themoviedb.org/這個網頁資料也可以。或者有這個網站的決議介面也可以。愿意拿高分或者Money來回報。多謝了!!!
uj5u.com熱心網友回復:
alert bad certificate認證檔案不對。
uj5u.com熱心網友回復:
usesurlmon, ActiveX;
function URLDownloadToString(Const sURL: String; var sBuf : AnsiString): Boolean;
var
ppStream : IStream;
statstg : TStatStg;
dwRead : Integer;
begin
Result := False;
sBuf := '';
if (URLOpenBlockingStream(nil, PChar(sURL), ppStream, 0, nil) <> S_OK) then exit;
try
if (ppStream.Stat(statstg, STATFLAG_NONAME) = S_OK) and (statstg.cbSize>0) then begin
SetLength(sBuf , statstg.cbSize);
try
Result := (ppStream.Read(Pointer(sBuf), statstg.cbSize, @dwRead) = S_OK);
finally
end;
end;
finally
ppStream := nil;
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
var
sBuf : AnsiString;
begin
URLDownloadToString('https://www.themoviedb.org/' , sBuf);
Memo1.Text := sBuf;
end;
uj5u.com熱心網友回復:
kiboisme你的方法,我測驗了,回傳的資料是空啊。
uj5u.com熱心網友回復:
哥們,碰到的問題和我一模一樣,不知道你解決了沒?uj5u.com熱心網友回復:
服務器要求的SSL版本比較高,你的CURL抓取代碼版本太低。采用較高版本試試。
uj5u.com熱心網友回復:
樓主解決了嗎?uj5u.com熱心網友回復:
樓主問題解決了嗎?uj5u.com熱心網友回復:
求解決方法
uj5u.com熱心網友回復:
uj5u.com熱心網友回復:
證書檔案不對。。 或者證書設定的有問題uj5u.com熱心網友回復:
挖出來解決......轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/29450.html
標籤:VCL組件開發及應用
上一篇:DELPHI XE用zeosdbo連接MYSQL獲取欄位顯示亂碼
下一篇:DelphiWebMVC3.0
