Delphi XE4 Pro THTTPRIO + https连接

时间:2014-02-13 18:04:07

标签: delphi ssl delphi-xe4

我正在使用Delphi XE4 Pro 我使用webBroker创建了一个服务器DLL,并创建了导入服务器WSDL接口的客户端DLL。 一切正常,但现在我想使用安全连接https进行连接。 在服务器上,我有一个由godaddy发布的有效* .domain SSL证书。 只需将RIO URL更改为使用https,所有客户端 - 服务器通信仍然有效。

我的问题是:你知道现在XE4 THTTPRIO是否能够自动处理https连接,或者我需要改变(不知何故)代码? 另外,你能否建议一个好的工具来验证标题,看看我是否真的使用了一个好的https连接?

非常感谢..

function GetIHFSINET(UseWSDL: Boolean; Addr: string; HTTPRIO: THTTPRIO): IHFSINET;
const
  defWSDL_server = 'https://etc';
  defURL_server  = 'https://etc';
  defSvc  = 'IHFSINETservice';
  defPrt  = 'IHFSINETPort';
var
  RIO: THTTPRIO;
begin
  Result := nil;
  if (Addr = '') then
    Addr := defWSDL_server;  //there is actually a function that returns the correct URL to use
  if HTTPRIO = nil then
    RIO := THTTPRIO.Create(nil)
  else
    RIO := HTTPRIO;
  try
    Result := (RIO as IHFSINET);
    if UseWSDL then
    begin
      RIO.WSDLLocation := Addr;
      RIO.Service := defSvc;
      RIO.Port := defPrt;
    end else
      RIO.URL := Addr;
  finally
    if (Result = nil) and (HTTPRIO = nil) then
      RIO.Free;
  end;
end;

1 个答案:

答案 0 :(得分:1)

您需要将URL更改为https - 它将通过将端口更改为443等来完成其余工作。

至于验证消息,您可能需要查看RIO.OnBeforeExecute和RIO.OnAfterExecute事件。