“代理值”设置为“InfoBip API”



大家好,

我已经下载了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();

希望这对你有帮助!

最新更新