PhpXmlRpc 的命名空间客户端提供了 setProxy,用于走正向代理路由:

use PhpXmlRpc\Client;

$client = new Client('https://rpc.example/service');
$client->setProxy('proxy.example', 8080);

构造函数选定 XML-RPC 服务;setProxy 接收中间代理的主机与端口。取自HTTP 代理列表的 HTTP 地址可以填入这两项,适用于无需代理账号的、获准访问的公开 XML-RPC 端点路由。当所选传输支持所需方案时,该方法还接受代理用户名、密码和认证类型参数。

通过这个配置好的实例发送应用的 XML-RPC 消息,并用该库常规的 API 处理故障。请保留传输层的 HTTPS 证书校验。

针对框架自带的客户端

CodeIgniter 3 内置的 XML-RPC 库是另一个类。它的 server 方法用于设定目标;PhpXmlRpc 的示例并不能证明 $this->xmlrpc 提供了 setProxy。

先确认实际实例化的类与传输方式,再使用该客户端自己的代理接口,并尽可能保留框架原有的消息构造方式。

相关文章