2016-06-16 12 views
7

Ich muss einen Proxy einrichten, um ein JSON mit POST zu senden, mit ProxyHost und ProxyPort.OkHttp Proxy-Einstellungen

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

Wenn ich versuche, die proxyTest zu verwenden, die ich sah auf einige Antworten haben hier zeigt es einen Fehler:

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

Iam mit dem OKHTTP 3.3.1 (okhttp3)

Meine Frage ist, was soll ich tun? Ich habe einige Tests wie folgt gemacht:

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

Aber nichts funktioniert so weit.

Danke für Ihre Zeit!

+0

Sie forderten [OkHttpClient.proxy()] (http://square.github.io/okhttp/3.x/okhttp/okhttp3/OkHttpClient.html#proxy--) Aber Sie [nennen wollen OkHttpClient.Builder.proxy (Proxy)] (http://square.github.io/okhttp/3.x/okhttp/okhttp3/OkHttpClient.Builder.html#proxy-java.net.Proxy-). – nobar

Antwort

8

die Lösung gefunden:

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

Wenn wir den Generator zur Eingabe der Proxy verwenden, wird es wie ein Zauber funktioniert = D

Mit freundlichen Grüßen!