2016-06-16 47 views
7

Devo configurare un proxy per inviare un JSON usando POST, usando proxyHost e proxyPort.Impostazioni proxy OkHttp

public static final MediaType JSON = MediaType.parse("application/json; charset=utf-8"); 
    Proxy proxyTest = new Proxy(Proxy.Type.HTTP,new InetSocketAddress("proxy", proxyPort)); 

    OkHttpClient client = new OkHttpClient() 
    .proxy(proxyTest) 
    .build(); 
    //OkHttpClient.Builder builder = new OkHttpClient.Builder(); 
    //builder.proxy(proxySAP); 
    //client.setProxy(proxySAP) 
    //OkHttpClient client = builder.build();; 

    String post(String url, String json) throws IOException { 

    RequestBody body = RequestBody.create(JSON, json); 
    Request request = new Request.Builder() 
     .url(url) 
     .post(body) 
     .build(); 
    try (Response response = client.newCall(request).execute()) { 
     return response.body().string(); 
    } 
    } 

Quando provo a utilizzare il proxytest che ho sega su alcune risposte qui si rileva un errore:

The method proxy() in the type OkHttpClient is not applicable for the arguments (Proxy)

Iam utilizzando l'OKHTTP 3.3.1 (okhttp3)

mio domanda è, cosa dovrei fare? Ho fatto alcuni test come questo:

OkHttpClient.Builder builder = new OkHttpClient.Builder();
builder.proxy(proxyTest);
client.setProxy(proxyTest)
OkHttpClient client = builder.build();

Ma nulla funziona finora.

Grazie per il vostro tempo!

+0

Stavi chiamando [OkHttpClient.proxy()] (http://square.github.io/okhttp/3.x/okhttp/okhttp3/OkHttpClient.html#proxy--) Ma che si desidera chiamare [ OkHttpClient.Builder.proxy (Proxy)] (http://square.github.io/okhttp/3.x/okhttp/okhttp3/OkHttpClient.Builder.html#proxy-java.net.Proxy-). – nobar

risposta

8

trovato la soluzione:

//OkHttpClient client = new OkHttpClient(); 

    OkHttpClient.Builder builder = new OkHttpClient.Builder().proxy(proxyTest); 
    OkHttpClient client = builder.build(); 

    //builder.proxy(proxyTest); 
    //client.setProxy(proxyTest) 
    //OkHttpClient client = builder.build();; 

Se usiamo il costruttore per inserire il proxy, che funzionerà come un fascino = D

migliori saluti!

Problemi correlati