public SimpleEntry<URLConnection, String> GET(String url) throws IOException {

    int redirects = 0;
    SimpleEntry<URLConnection, String> r;

    do {
      r = cookies(LLHttpClient.GET(proxy(), url, connectTimeOut, readTimeOut, headers()));
      url = check(r.getKey());
      redirects++;
    } while (follow && url != null && redirects < 5);

    if (follow && redirects >= 5 && r != null && r.getKey() instanceof HttpURLConnection) {
      if (((HttpURLConnection) r.getKey()).getResponseCode() != HttpURLConnection.HTTP_OK) { throw new IOException(
          "Detected recursive redirecting: " + url); }
    }

    return r;
  }