如何在不设置系统属性的情况下为 XmlRpc 请求使用代理
How to use a Proxy for a XmlRpc-Request without settitng Systemproperties
我需要 运行 XmlRpc-Request 并且我必须使用代理来连接服务器。
连接使用以下代码。
try {
final XmlRpcClientConfigImpl config = new XmlRpcClientConfigImpl();
config.setServerURL(new URL(url));
final XmlRpcClient server = new XmlRpcClient();
server.setConfig(config);
Object result = null;
System.setProperty("https.proxyHost", host);
System.setProperty("https.proxyPort", port);
result = server.execute("evatrRPC", params);
return ((String) result);
}catch (final Exception exception) {
throw new RuntimeException("JavaClient: " + exception);
}
问题是不允许我更改系统属性。因此,我正在寻找另一种方法来为请求设置代理。
感谢您的帮助
您应该尝试配置客户端的传输工厂:
XmlRpcSun15HttpTransportFactorytransportFactory transportFactory =
new XmlRpcSun15HttpTransportFactory(client);
transportFactory.setProxy(proxy); // <= Proxy settings here
client.setTransportFactory(transportFactory);
我需要 运行 XmlRpc-Request 并且我必须使用代理来连接服务器。
连接使用以下代码。
try {
final XmlRpcClientConfigImpl config = new XmlRpcClientConfigImpl();
config.setServerURL(new URL(url));
final XmlRpcClient server = new XmlRpcClient();
server.setConfig(config);
Object result = null;
System.setProperty("https.proxyHost", host);
System.setProperty("https.proxyPort", port);
result = server.execute("evatrRPC", params);
return ((String) result);
}catch (final Exception exception) {
throw new RuntimeException("JavaClient: " + exception);
}
问题是不允许我更改系统属性。因此,我正在寻找另一种方法来为请求设置代理。
感谢您的帮助
您应该尝试配置客户端的传输工厂:
XmlRpcSun15HttpTransportFactorytransportFactory transportFactory =
new XmlRpcSun15HttpTransportFactory(client);
transportFactory.setProxy(proxy); // <= Proxy settings here
client.setTransportFactory(transportFactory);