【发布时间】:2018-01-12 13:50:00
【问题描述】:
我正在使用生成的 DS 客户端代理类通过 TDSRESTConnection 连接到 DataSnap 服务器。连接工作正常,我可以调用服务器方法。我现在想通过代理服务器进行连接,所以我在 TDSRESTConnection 对象上设置属性,但是我可以看到没有通过代理服务器发送任何内容,就好像这些属性被忽略了一样。我的代码如下:
var
myDS: TServerMethodsClient;
begin
DSRESTConnectionCfg.ProxyHost := 'localhost';
DSRESTConnectionCfg.ProxyPort := 8888;
myDS := TServerMethodsClient.Create(DSRESTConnectionCfg, False);
myDS.ServerMethodOne();
myDS.Free;
end;
我也试过设置:
DSRESTConnectionCfg.HTTP.ProxyParams.ProxyServer := 'localhost';
DSRESTConnectionCfg.HTTP.ProxyParams.ProxyPort := 8888;
两者都没有效果。但是我知道这段代码在我使用的以前版本的 Delphi 中工作,即 XE6。问题似乎在于转向 XE10。
有人能解释一下吗?
【问题讨论】:
-
XE6 版本是否真的可以与您在同一台机器上工作,您无法使用“XE10”版本?顺便说一句,没有 XE10,XE8 之后的版本是西雅图、柏林和东京——你使用的是哪些?
-
嗨,是的,它在同一台 PC 上的 XE6 中运行良好。抱歉,我使用的是 Delphi Seattle。
-
更改属性后是否需要重置或重新打开连接?
-
嗨,不,我也尝试在创建 TServerMethodsClient 后设置属性,但没有任何区别。
-
对于通过 HTTP.ProxyParams 设置这些的方法,我发现了 ProxyServer specifies a fully qualified domain name or IP address for the proxy server. 的注释,你试过用它而不是 'localhost' 吗?
标签: rest delphi proxy datasnap