SocketTimeoutException in Retrofit

Increase the time if the fetching is taking more time use this code it worked for me OkHttpClient client = new OkHttpClient.Builder() .connectTimeout(100, TimeUnit.SECONDS) .readTimeout(100,TimeUnit.SECONDS).build(); Retrofit retrofit = new Retrofit.Builder() .baseUrl(“yourbaseurl”).client(client) .addConverterFactory(GsonConverterFactory.create(new Gson())).build(); hay this is a work around not the best practice , from comments down, Back end should not take this long and … Read more

How to implement cookie handling on Android using OkHttp?

For OkHttp3, a simple accept-all, non-persistent CookieJar implementation can be as follows: OkHttpClient client = new OkHttpClient.Builder() .cookieJar(new CookieJar() { private final HashMap<HttpUrl, List<Cookie>> cookieStore = new HashMap<>(); @Override public void saveFromResponse(HttpUrl url, List<Cookie> cookies) { cookieStore.put(url, cookies); } @Override public List<Cookie> loadForRequest(HttpUrl url) { List<Cookie> cookies = cookieStore.get(url); return cookies != null ? cookies … Read more

How to add query parameters to a HTTP GET request by OkHttp?

For okhttp3: private static final OkHttpClient client = new OkHttpClient().newBuilder() .connectTimeout(10, TimeUnit.SECONDS) .readTimeout(30, TimeUnit.SECONDS) .build(); public static void get(String url, Map<String,String>params, Callback responseCallback) { HttpUrl.Builder httpBuilder = HttpUrl.parse(url).newBuilder(); if (params != null) { for(Map.Entry<String, String> param : params.entrySet()) { httpBuilder.addQueryParameter(param.getKey(),param.getValue()); } } Request request = new Request.Builder().url(httpBuilder.build()).build(); client.newCall(request).enqueue(responseCallback); }

Getting Header from Response (Retrofit / OkHttp Client)

With Retrofit 1.9.0, if you use the Callback asynchronous version of the interface, @GET(“/user”) void getUser(Callback<User> callback) Then your callback will receive a Response object Callback<User> user = new Callback<User>() { @Override public void success(User user, Response response) { } @Override public void failure(RetrofitError error) { } } Which has a method called getHeaders() Callback<User> … Read more

How can I pin a certificate with Square OKHTTP?

UPDATE FOR OKHTTP 3.0 OKHTTP 3.0 has built-in support for pinning certificates. Start off by pasting the following code: String hostname = “yourdomain.com”; CertificatePinner certificatePinner = new CertificatePinner.Builder() .add(hostname, “sha256/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=”) .build(); OkHttpClient client = OkHttpClient.Builder() .certificatePinner(certificatePinner) .build(); Request request = new Request.Builder() .url(“https://” + hostname) .build(); client.newCall(request).execute(); This will fail because AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA is not a … Read more

Automatic cookie handling with OkHttp 3

If you want to use the new OkHttp 3 CookieJar and get rid of the okhttp-urlconnection dependency you can use this PersistentCookieJar. You only need to create an instance of PersistentCookieJar and then just pass it to the OkHttp builder: CookieJar cookieJar = new PersistentCookieJar(new SetCookieCache(), new SharedPrefsCookiePersistor(context)); OkHttpClient okHttpClient = new OkHttpClient.Builder() .cookieJar(cookieJar) .build();

Unsupported operation: Android, Retrofit, OkHttp. Adding interceptor in OkHttpClient

This issue occurs when you change Retrofit 2.0-beta2 to Retrofit 2.0-beta3. You have to use builder if you want to create OkHttpClient object. Change : OkHttpClient okClient = new OkHttpClient(); okClient.interceptors().add(new Interceptor() { @Override public Response intercept(Interceptor.Chain chain) throws IOException { Request original = chain.request(); // Request customization: add request headers Request.Builder requestBuilder = original.newBuilder() … Read more

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)