2016-06-16 14 views
7

Muszę skonfigurować proxy, aby wysłać JSON za pomocą POST, używając proxyHost i proxyPort.Ustawienia 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(); 
    } 
    } 

Kiedy próbuję użyć proxyTest że ja widziałem na niektórych odpowiedziach tutaj wskazuje, że błąd:

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

IAM używając OKHTTP 3.3.1 (okhttp3)

My Pytanie brzmi, co powinienem zrobić? Zrobiłem kilka takich testów:

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

Ale nic nie działa tak daleko.

Dziękujemy za poświęcony czas!

+0

Byłaś wywołanie [OkHttpClient.proxy()] (http://square.github.io/okhttp/3.x/okhttp/okhttp3/OkHttpClient.html#proxy--) Ale chcesz zadzwonić [ OkHttpClient.Builder.proxy (Proxy)] (http://square.github.io/okhttp/3.x/okhttp/okhttp3/OkHttpClient.Builder.html#proxy-java.net.Proxy-). – nobar

Odpowiedz

8

Znaleziono rozwiązanie:

//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();; 

Jeśli używamy konstruktora do wejścia proxy, będzie działać jak czar = D

poważaniem!

Powiązane problemy