canonical example by Tabnine
public void sendGetRequest(String url) throws IOException { OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder().url(url).build(); try (Response response = client.newCall(request).execute()) { String responseBody = response.body().string(); // ... do something with response } }
public void run() throws Exception { Request request = new Request.Builder() .url("http://publicobject.com/helloworld.txt") .build(); client.newCall(request).enqueue(new Callback() { @Override public void onFailure(Call call, IOException e) { e.printStackTrace(); } @Override public void onResponse(Call call, Response response) throws IOException { try (ResponseBody responseBody = response.body()) { if (!response.isSuccessful()) throw new IOException("Unexpected code " + response); Headers responseHeaders = response.headers(); for (int i = 0, size = responseHeaders.size(); i < size; i++) { System.out.println(responseHeaders.name(i) + ": " + responseHeaders.value(i)); } System.out.println(responseBody.string()); } } }); }
public void run() throws Exception { Request request = new Request.Builder() .url("http://httpbin.org/delay/2") // This URL is served with a 2 second delay. .build(); final long startNanos = System.nanoTime(); final Call call = client.newCall(request); // Schedule a job to cancel the call in 1 second. executor.schedule(() -> { System.out.printf("%.2f Canceling call.%n", (System.nanoTime() - startNanos) / 1e9f); call.cancel(); System.out.printf("%.2f Canceled call.%n", (System.nanoTime() - startNanos) / 1e9f); }, 1, TimeUnit.SECONDS); System.out.printf("%.2f Executing call.%n", (System.nanoTime() - startNanos) / 1e9f); try (Response response = call.execute()) { System.out.printf("%.2f Call was expected to fail, but completed: %s%n", (System.nanoTime() - startNanos) / 1e9f, response); } catch (IOException e) { System.out.printf("%.2f Call failed as expected: %s%n", (System.nanoTime() - startNanos) / 1e9f, e); } }
public void connect(OkHttpClient client) { client = client.newBuilder() .eventListener(EventListener.NONE) .build(); call = client.newCall(request); call.timeout().clearTimeout(); call.enqueue(this); }
@Override public void uploadProgress(Progress innerProgress) { if (rawCall.isCanceled()) return; if (progress.status != Progress.LOADING) { rawCall.cancel(); return; } progress.from(innerProgress); postLoading(progress); } });
public void run() throws Exception { Request request = new Request.Builder() .url("https://api.github.com/gists/c2a7c39532239ff261be") .build(); try (Response response = client.newCall(request).execute()) { if (!response.isSuccessful()) throw new IOException("Unexpected code " + response); Gist gist = gistJsonAdapter.fromJson(response.body().source()); for (Map.Entry<String, GistFile> entry : gist.files.entrySet()) { System.out.println(entry.getKey()); System.out.println(entry.getValue().content); } } }
@Override public void call(final Stream stream, final AlertCondition.CheckResult result) throws AlarmCallbackException { final Map<String, Object> event = Maps.newHashMap(); event.put("stream", stream); event.put("check_result", result); final byte[] body; try { body = objectMapper.writeValueAsBytes(event); } catch (JsonProcessingException e) { throw new AlarmCallbackException("Unable to serialize alarm", e); } final String url = configuration.getString(CK_URL); final HttpUrl httpUrl = HttpUrl.parse(url); if (httpUrl == null) { throw new AlarmCallbackException("Malformed URL: " + url); } final Request request = new Request.Builder() .url(httpUrl) .post(RequestBody.create(CONTENT_TYPE, body)) .build(); try (final Response r = httpClient.newCall(request).execute()) { if (!r.isSuccessful()) { throw new AlarmCallbackException("Expected successful HTTP response [2xx] but got [" + r.code() + "]."); } } catch (IOException e) { throw new AlarmCallbackException(e.getMessage(), e); } }
public void run() throws Exception { Request request = new Request.Builder() .url("http://publicobject.com/helloworld.txt") .build(); String response1Body; try (Response response1 = client.newCall(request).execute()) { if (!response1.isSuccessful()) throw new IOException("Unexpected code " + response1); response1Body = response1.body().string(); System.out.println("Response 1 response: " + response1); System.out.println("Response 1 cache response: " + response1.cacheResponse()); System.out.println("Response 1 network response: " + response1.networkResponse()); } String response2Body; try (Response response2 = client.newCall(request).execute()) { if (!response2.isSuccessful()) throw new IOException("Unexpected code " + response2); response2Body = response2.body().string(); System.out.println("Response 2 response: " + response2); System.out.println("Response 2 cache response: " + response2.cacheResponse()); System.out.println("Response 2 network response: " + response2.networkResponse()); } System.out.println("Response 2 equals Response 1? " + response1Body.equals(response2Body)); }
@Override public InputStream download(String url, String params) { okhttp3.Request request; if (StrKit.notBlank(params)) { okhttp3.RequestBody body = okhttp3.RequestBody.create(CONTENT_TYPE_FORM, params); request = new okhttp3.Request.Builder().url(url).post(body).build(); } else { request = new okhttp3.Request.Builder().url(url).get().build(); } try { okhttp3.Response response = httpClient.newCall(request).execute(); if (!response.isSuccessful()) throw new RuntimeException("Unexpected code " + response); return response.body().byteStream(); } catch (IOException e) { throw new RuntimeException(e); } }
public void run() throws Exception { Request request = new Request.Builder() .url("https://api.github.com/repos/square/okhttp/issues") .header("User-Agent", "OkHttp Headers.java") .addHeader("Accept", "application/json; q=0.5") .addHeader("Accept", "application/vnd.github.v3+json") .build(); try (Response response = client.newCall(request).execute()) { if (!response.isSuccessful()) throw new IOException("Unexpected code " + response); System.out.println("Server: " + response.header("Server")); System.out.println("Date: " + response.header("Date")); System.out.println("Vary: " + response.headers("Vary")); } }
public void run() throws Exception { Request request = new Request.Builder() .url("https://publicobject.com/robots.txt") .build(); try (Response response = client.newCall(request).execute()) { if (!response.isSuccessful()) throw new IOException("Unexpected code " + response); for (Certificate certificate : response.handshake().peerCertificates()) { System.out.println(CertificatePinner.pin(certificate)); } } }
public void run() throws Exception { Request request = new Request.Builder() .url("http://httpbin.org/delay/2") // This URL is served with a 2 second delay. .build(); try (Response response = client.newCall(request).execute()) { System.out.println("Response completed: " + response); } }
public void send(DatadogHttpReporter.DatadogHttpRequest request) throws Exception { String postBody = serialize(request.getSeries()); Request r = new Request.Builder() .url(seriesUrl) .post(RequestBody.create(MEDIA_TYPE, postBody)) .build(); client.newCall(r).enqueue(EmptyCallback.getEmptyCallback()); }
public static final MediaType JSON = MediaType.parse("application/json; charset=utf-8"); OkHttpClient client = new OkHttpClient(); Call post(String url, String json, Callback callback) { RequestBody body = RequestBody.create(JSON, json); Request request = new Request.Builder() .url(url) .post(body) .build(); Call call = client.newCall(request); call.enqueue(callback); return call; }
@Override public Response<T> execute() throws IOException { okhttp3.Call call; synchronized (this) { if (executed) throw new IllegalStateException("Already executed."); executed = true; if (creationFailure != null) { if (creationFailure instanceof IOException) { throw (IOException) creationFailure; } else if (creationFailure instanceof RuntimeException) { throw (RuntimeException) creationFailure; } else { throw (Error) creationFailure; } } call = rawCall; if (call == null) { try { call = rawCall = createRawCall(); } catch (IOException | RuntimeException | Error e) { throwIfFatal(e); // Do not assign a fatal error to creationFailure. creationFailure = e; throw e; } } } if (canceled) { call.cancel(); } return parseResponse(call.execute()); }
public OkHttpListenableFuture(Call call) { this.call = call; this.call.enqueue(new Callback() { @Override public void onResponse(Call call, Response response) { set(new OkHttp3ClientHttpResponse(response)); } @Override public void onFailure(Call call, IOException ex) { setException(ex); } }); }