我使用的是德尔福 XE4 Pro 我使用 webBroker 创建了一个服务器 DLL,并创建了导入服务器 WSDL 接口(interface)的客户端 DLL。 一切正常,但现在我想使用安全连接 https 进行连接。 在服务器上,我有一个由 godaddy 颁发的有效 *.domain SSL 证书。 通过简单地将 RIO URL 更改为使用 https,所有客户端-服务器通信仍然有效。
我的问题是:您知道 XE4 中的 THTTPRIO 现在是否能够自动处理 https 连接,或者我是否需要(以某种方式)更改代码? 另外,您能否推荐一个好的工具来验证 header ,以便查看我是否使用了良好的 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;
最佳答案
您只需将 URL 更改为 https - 它会通过将端口更改为 443 等来处理其余部分。
就验证消息而言,您可能需要查看 RIO.OnBeforeExecute 和 RIO.OnAfterExecute 事件。
关于Delphi XE4 Pro THTTPRIO + https 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21762055/