IdHttp+SSL解析HTTPS网页,出现错误SSL3_READ_BYTES:sslv3,怎么解决呢?

喜欢编程朋友 2016-08-31 05:38:01
窗体组件:
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来回报。多谢了!!!
...全文
5998 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
xsjwb1 2019-05-24
  • 打赏
  • 举报
回复
挖出来解决......
  • 打赏
  • 举报
回复
证书文件不对。。 或者证书设置的有问题
lyhoo163 2017-10-08
  • 打赏
  • 举报
回复
chuji6011 2017-10-06
  • 打赏
  • 举报
回复
求解决方法
joanagle 2017-06-06
  • 打赏
  • 举报
回复
楼主问题解决了吗?
oushengfen 2017-03-24
  • 打赏
  • 举报
回复
楼主解决了吗?
lyhoo163 2017-03-14
  • 打赏
  • 举报
回复
服务器要求的SSL版本比较高,你的CURL抓取代码版本太低。 采用较高版本试试。
deaeee 2017-03-14
  • 打赏
  • 举报
回复
哥们,碰到的问题和我一模一样,不知道你解决了没?
喜欢编程朋友 2016-11-16
  • 打赏
  • 举报
回复
kiboisme 你的方法,我测试了,返回的数据是空啊。
蓝色光芒 2016-08-31
  • 打赏
  • 举报
回复
uses urlmon, 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;
jjpweb 2016-08-31
  • 打赏
  • 举报
回复
 alert bad certificate 认证文件不对。

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧