1.代码
function Tfrmmain.UploadData: Boolean;
var
IdHTTP: TIdHTTP;
SSLIO: TIdSSLIOHandlerSocketOpenSSL;
begin
Result := False;
IdHTTP := TIdHTTP.Create(nil);
SSLIO := TIdSSLIOHandlerSocketOpenSSL.Create(nil);
//https 协议
if Pos('https',FSynconfigRec.DetailSendMsg_URL)>0 then
begin
IdHTTP.ProtocolVersion := pv1_1;
IdHTTP.HandleRedirects := True;
SSLIO.SSLOptions.Method:=sslvTLSv1; //post 函数需要用版本3
SSLIO.SSLOptions.Mode := sslmClient;
IdHTTP.IOHandler:=SSLIO;
end;
try
try
IdHTTP.get(FSynconfigRec.Proj_URL);
Result := true;
except
on E: Exception do
WriteLog(FTodayLog,'接口访问失败:' +FSynconfigRec.Proj_URL+ E.Message);
end;
finally
IdHTTP.Free;
SSLIO.Free;
end;
end;
2.单元引用 delphi 2010
IdComponent, IdIOHandler, IdIOHandlerSocket, IdIOHandlerStack, IdSSL, IdSSLOpenSSL