大家好,
我已经下载了infobip
API并将其导入到我的工作空间。
我想使用这个API调用infobip
发送短信。
然而,我有一个要求,那就是,我需要先通过服务器代理到达infobip
端点URL。
那么,原始代码如下:
public SMSResponse execute(SMSTextualRequest bodyObject) {
RestAdapter restAdapter = new RestAdapter.Builder( ).
.setEndpoint( configuration.getBaseUrl( ) )
.setRequestInterceptor( getRequestInterceptor( ) )
.setConverter(
new GsonConverter( new GsonBuilder( ).setDateFormat(
"yyyy-MM-dd'T'HH:mm:ss.SSSZ" ).create( ) ) )
.build( );
SendSingleTextualSmsService service = restAdapter
.create( SendSingleTextualSmsService.class );
return service.execute( bodyObject );
}
我正在考虑使用setClient()
方法来设置代理值。因此,我创建了一个Client对象:
Client client = null;
计划如下:
RestAdapter restAdapter = new RestAdapter.Builder( ).setClient( client )
\ some code...
但是,我在Client
对象中没有找到与ip地址,端口号属性相关的内容。
我用的方法正确吗?
请建议。
你可以这样配置:
OkHttpClient client = new OkHttpClient();
java.net.Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress(proxyHost, proxyPort));
client.setProxy(proxy);
RestAdapter restAdapter = new RestAdapter.Builder()
.setEndpoint(configuration.getBaseUrl())
.setRequestInterceptor(getRequestInterceptor())
.setConverter(new GsonConverter(new GsonBuilder()
.setDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ")
.create()))
.setClient(new OkClient(client))
.build();
希望这对你有帮助!