Java Code Examples for java.net.HttpURLConnection#setFollowRedirects()
The following examples show how to use
java.net.HttpURLConnection#setFollowRedirects() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: DynamoDBLocal.java From geowave with Apache License 2.0 | 6 votes |
protected boolean install() throws IOException { HttpURLConnection.setFollowRedirects(true); final URL url = new URL(DYNDB_URL + DYNDB_TAR); final File downloadFile = new File(dynLocalDir, DYNDB_TAR); if (!downloadFile.exists()) { try (FileOutputStream fos = new FileOutputStream(downloadFile)) { IOUtils.copyLarge(url.openStream(), fos); fos.flush(); } } final TarGZipUnArchiver unarchiver = new TarGZipUnArchiver(); unarchiver.enableLogging(new ConsoleLogger(Logger.WARN, "DynamoDB Local Unarchive")); unarchiver.setSourceFile(downloadFile); unarchiver.setDestDirectory(dynLocalDir); unarchiver.extract(); if (!downloadFile.delete()) { LOGGER.warn("cannot delete " + downloadFile.getAbsolutePath()); } // Check the install if (!isInstalled()) { LOGGER.error("DynamoDB Local install failed"); return false; } return true; }
Example 2
Source File: LazyLoadEmoji.java From ChatGameFontificator with The Unlicense | 6 votes |
public static boolean checkUrl(URL url) { try { HttpURLConnection.setFollowRedirects(true); // Does not work for http to https redirects HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection(); httpURLConnection.setRequestMethod("HEAD"); httpURLConnection.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.1.2) Gecko/20090729 Firefox/3.5.2 (.NET CLR 3.5.30729)"); int responseCode = httpURLConnection.getResponseCode(); return responseCode == HttpURLConnection.HTTP_OK; } catch (Exception e) { logger.debug(e.getMessage(), e); return false; } }
Example 3
Source File: OsioKeycloakTestAuthServiceClient.java From che with Eclipse Public License 2.0 | 6 votes |
private KeycloakToken obtainActiveToken(String username, String password) throws IOException, MalformedURLException, ProtocolException, UnsupportedEncodingException { HttpURLConnection.setFollowRedirects(true); HttpURLConnection conn; String formPostURL = loginAndGetFormPostURL(); HttpURLConnection.setFollowRedirects(false); conn = fillFormAndCreateConnection(formPostURL, username, password); String tokenJsonString = followRedirects(conn); // "token_json={}" String tokenJson = URLDecoder.decode(new URL(tokenJsonString).getQuery(), "UTF-8").substring(11); KeycloakToken readerToKeycloakToken = readerToKeycloakToken(new StringReader(tokenJson)); return readerToKeycloakToken; }
Example 4
Source File: PollServerAndRestart.java From webdsl with Apache License 2.0 | 6 votes |
public static boolean findContents(String url, String check){ try { URL url1 = new URL(url); HttpURLConnection huc = (HttpURLConnection) url1.openConnection(); HttpURLConnection.setFollowRedirects(false); huc.setReadTimeout(10 * 1000); huc.setConnectTimeout(10 * 1000); huc.setRequestMethod("GET"); huc.connect(); BufferedReader br = new BufferedReader(new InputStreamReader(huc.getInputStream())); String buffer = ""; while (buffer != null) { if(buffer.contains(check)){ return true; } buffer = br.readLine(); } huc.disconnect(); } catch (Exception e) { e.printStackTrace(); } return false; }
Example 5
Source File: Network.java From MiBandDecompiled with Apache License 2.0 | 6 votes |
public static InputStream downloadXmlAsStreamWithoutRedirect(URL url, String s, String s1) { HttpURLConnection.setFollowRedirects(false); HttpURLConnection httpurlconnection = (HttpURLConnection)url.openConnection(); httpurlconnection.setConnectTimeout(10000); httpurlconnection.setReadTimeout(15000); if (!TextUtils.isEmpty(s)) { httpurlconnection.setRequestProperty("User-Agent", s); } if (s1 != null) { httpurlconnection.setRequestProperty("Cookie", s1); } int i = httpurlconnection.getResponseCode(); InputStream inputstream; if (i < 300 || i >= 400) { inputstream = httpurlconnection.getInputStream(); } else { inputstream = null; } return new DoneHandlerInputStream(inputstream); }
Example 6
Source File: Resolver.java From CrappaLinks with GNU General Public License v3.0 | 5 votes |
protected String doInBackground(String... urls) { String redirectUrl = urls[0]; // if there's no connection, fail and return the original URL. ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService( Context.CONNECTIVITY_SERVICE); if (connectivityManager.getActiveNetworkInfo() == null) { noConnectionError = true; return redirectUrl; } if (useUnshortenIt) { return getRedirectUsingLongURL(redirectUrl); } else { HttpURLConnection.setFollowRedirects(false); // Use the cookie manager so that cookies are stored. Useful for some hosts that keep // redirecting us indefinitely unless the set cookie is detected. CookieManager cookieManager = new CookieManager(); CookieHandler.setDefault(cookieManager); // Should we resolve all URLs? boolean resolveAll = true; NetworkInfo wifiInfo = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI); if (resolveAllWhen.equals("NEVER") || (resolveAllWhen.equals("WIFI_ONLY") && !wifiInfo.isConnected())) resolveAll = false; // Keep trying to resolve the URL until we get a URL that isn't a redirect. String finalUrl = redirectUrl; while (redirectUrl != null && ((resolveAll) || (RedirectHelper.isRedirect(Uri.parse(redirectUrl).getHost())))) { redirectUrl = getRedirect(redirectUrl); if (redirectUrl != null) { // This should avoid infinite loops, just in case. if (redirectUrl.equals(finalUrl)) return finalUrl; finalUrl = redirectUrl; } } return finalUrl; } }
Example 7
Source File: ExprUrlLastModified.java From skUtilities with GNU General Public License v3.0 | 5 votes |
@Override @Nullable protected Number[] get(Event e) { try { HttpURLConnection.setFollowRedirects(false); HttpURLConnection c = (HttpURLConnection) new URL(url.getSingle(e)).openConnection(); c.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11"); String n = String.valueOf(c.getLastModified()); c.disconnect(); return new Number[]{Long.valueOf(n.substring(0, 10))}; } catch (Exception x) { skUtilities.prSysE("Error Reading from: '" + url.getSingle(e) + "' Is the site down?", getClass().getSimpleName(), x); } return null; }
Example 8
Source File: ExprUrlOnlineState.java From skUtilities with GNU General Public License v3.0 | 5 votes |
@Override @Nullable protected Boolean[] get(Event e) { try { HttpURLConnection.setFollowRedirects(false); HttpURLConnection c = (HttpURLConnection) new URL(url.getSingle(e)).openConnection(); c.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11"); int r = c.getResponseCode(); c.disconnect(); return new Boolean[]{r == HttpURLConnection.HTTP_OK}; } catch (Exception x) { skUtilities.prSysE("Error Reading from: '" + url.getSingle(e) + "' Is the site down?", getClass().getSimpleName(), x); } return null; }
Example 9
Source File: Shibboleth3ConfService.java From oxTrust with MIT License | 5 votes |
public boolean existsResourceUri(String resourceUrlName) { try { HttpURLConnection.setFollowRedirects(false); // note : you may also need // HttpURLConnection.setInstanceFollowRedirects(false) HttpURLConnection con = (HttpURLConnection) new URL(resourceUrlName).openConnection(); con.setRequestMethod("HEAD"); return (con.getResponseCode() == HttpURLConnection.HTTP_OK); } catch (Exception e) { log.error("existsResourceUri: {}" , resourceUrlName); return false; } }
Example 10
Source File: MizLib.java From Mizuu with Apache License 2.0 | 5 votes |
public static boolean exists(String URLName){ try { HttpURLConnection.setFollowRedirects(false); HttpURLConnection con = (HttpURLConnection) new URL(URLName).openConnection(); con.setRequestMethod("HEAD"); con.setConnectTimeout(10000); return (con.getResponseCode() == HttpURLConnection.HTTP_OK); } catch (Exception e) { return false; } }
Example 11
Source File: RequestBuilder.java From jumblr with Apache License 2.0 | 5 votes |
public String getRedirectUrl(String path) { OAuthRequest request = this.constructGet(path, null); sign(request); boolean presetVal = HttpURLConnection.getFollowRedirects(); HttpURLConnection.setFollowRedirects(false); Response response = request.send(); HttpURLConnection.setFollowRedirects(presetVal); if (response.getCode() == 301 || response.getCode() == 302) { return response.getHeader("Location"); } else { throw new JumblrException(response); } }
Example 12
Source File: TestRewriteValve.java From Tomcat8-Source-Read with MIT License | 5 votes |
@Test public void testPermanentRedirect() throws Exception { // Disable the following of redirects for this test only boolean originalValue = HttpURLConnection.getFollowRedirects(); HttpURLConnection.setFollowRedirects(false); try { doTestRedirect("RewriteRule ^/from/a$ /to/b [R=permanent]", "/redirect/from/a", "/redirect/to/b", 301); } finally { HttpURLConnection.setFollowRedirects(originalValue); } }
Example 13
Source File: Cloudflare.java From cloudflare-scrape-Android with MIT License | 4 votes |
private void urlThread(cfCallback callback){ mCookieManager = new CookieManager(); mCookieManager.setCookiePolicy(CookiePolicy.ACCEPT_ALL); //接受所有cookies CookieHandler.setDefault(mCookieManager); HttpURLConnection.setFollowRedirects(false); while (!canVisit){ if (mRetry_count>MAX_COUNT){ break; } try { int responseCode = checkUrl(); if (responseCode==200){ canVisit=true; break; }else { getVisitCookie(); } } catch (IOException| RuntimeException | InterruptedException e) { if (mCookieList!=null){ mCookieList= new ArrayList<>(mCookieList); mCookieList.clear(); } e.printStackTrace(); } finally { closeAllConn(); } mRetry_count++; } if (callback!=null){ Looper.prepare(); if (canVisit){ callback.onSuccess(mCookieList,hasNewUrl,mUrl); }else { e("Get Cookie Failed"); callback.onFail("Retries exceeded the limit"); } } }
Example 14
Source File: Cloudflare.java From cloudflare-scrape-Android with MIT License | 4 votes |
private void getRedirectResponse(AnswerBean answerBean) throws IOException { HttpURLConnection.setFollowRedirects(false); mGetRedirectionConn = (HttpURLConnection) new URL(answerBean.getHost()).openConnection(); mGetRedirectionConn.setRequestMethod(answerBean.getMethod() == AnswerBean.GET ? "GET" : "POST"); mGetRedirectionConn.setConnectTimeout(CONN_TIMEOUT); mGetRedirectionConn.setReadTimeout(CONN_TIMEOUT); mGetRedirectionConn.setDoInput(true); mGetRedirectionConn.setDoOutput(true); mGetRedirectionConn.setUseCaches(false); if (!TextUtils.isEmpty(mUser_agent)){ mGetRedirectionConn.setRequestProperty("user-agent",mUser_agent); } mGetRedirectionConn.setRequestProperty("accept",ACCEPT); mGetRedirectionConn.setRequestProperty("referer", mUrl); if (mCookieList!=null&&mCookieList.size()>0){ mGetRedirectionConn.setRequestProperty("cookie",listToString(mCookieList)); } mGetRedirectionConn.setUseCaches(false); if (answerBean.getMethod() == AnswerBean.POST){ mGetRedirectionConn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); } mGetRedirectionConn.connect(); if (answerBean.getMethod() == AnswerBean.POST){ StringBuilder stringBuilder = new StringBuilder(); for(Map.Entry<String, String> entry :answerBean.getFromData().entrySet()){ stringBuilder.append(entry.getKey()).append("=").append(entry.getValue()).append("&"); } stringBuilder.deleteCharAt(stringBuilder.length()-1); BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(mGetRedirectionConn.getOutputStream(), "UTF-8")); writer.write(stringBuilder.toString()); writer.close(); } switch (mGetRedirectionConn.getResponseCode()){ case HttpURLConnection.HTTP_OK: mCookieList = mCookieManager.getCookieStore().getCookies(); break; case HttpURLConnection.HTTP_MOVED_TEMP: mCookieList = mCookieManager.getCookieStore().getCookies(); checkCookie(mCookieList); break; default:throw new IOException("getOtherResponse Code: "+ mGetRedirectionConn.getResponseCode()); } }
Example 15
Source File: PortletIFrame.java From sakai with Educational Community License v2.0 | 4 votes |
public boolean popupXFrame(RenderRequest request, Placement placement, String url) { if ( xframeCache < 1 ) return false; // Only check http:// and https:// urls if ( ! (url.startsWith("http://") || url.startsWith("https://")) ) return false; // Check the "Always POPUP" and "Always INLINE" regular expressions String pattern = null; Pattern p = null; Matcher m = null; pattern = ServerConfigurationService.getString(IFRAME_XFRAME_POPUP, null); if ( pattern != null && pattern.length() > 1 ) { p = Pattern.compile(pattern); m = p.matcher(url.toLowerCase()); if ( m.find() ) { return true; } } pattern = ServerConfigurationService.getString(IFRAME_XFRAME_INLINE, null); if ( pattern != null && pattern.length() > 1 ) { p = Pattern.compile(pattern); m = p.matcher(url.toLowerCase()); if ( m.find() ) { return false; } } // Don't check Local URLs String serverUrl = ServerConfigurationService.getServerUrl(); if ( url.startsWith(serverUrl) ) return false; if ( url.startsWith(ServerConfigurationService.getAccessUrl()) ) return false; // Force http:// to pop-up if we are https:// if ( request.isSecure() || ( serverUrl != null && serverUrl.startsWith("https://") ) ) { if ( url.startsWith("http://") ) return true; } // Check to see if time has expired... Date date = new Date(); long nowTime = date.getTime(); String lastTimeS = placement.getPlacementConfig().getProperty(XFRAME_LAST_TIME); long lastTime = -1; try { lastTime = Long.parseLong(lastTimeS); } catch (NumberFormatException nfe) { lastTime = -1; } log.debug("lastTime="+lastTime+" nowTime="+nowTime); if ( lastTime > 0 && nowTime < lastTime + xframeCache ) { String lastXF = placement.getPlacementConfig().getProperty(XFRAME_LAST_STATUS); log.debug("Status from placement="+lastXF); return "true".equals(lastXF); } placement.getPlacementConfig().setProperty(XFRAME_LAST_TIME, String.valueOf(nowTime)); boolean retval = false; try { // note : you may also need // HttpURLConnection.setInstanceFollowRedirects(false) HttpURLConnection.setFollowRedirects(true); HttpURLConnection con = (HttpURLConnection) new URL(url).openConnection(); con.setRequestMethod("HEAD"); String sakaiVersion = ServerConfigurationService.getString("version.sakai", "?"); con.setRequestProperty("User-Agent","Java Sakai/"+sakaiVersion); Map headerfields = con.getHeaderFields(); Set headers = headerfields.entrySet(); for(Iterator i = headers.iterator(); i.hasNext();) { Map.Entry map = (Map.Entry)i.next(); String key = (String) map.getKey(); if ( key == null ) continue; key = key.toLowerCase(); if ( ! "x-frame-options".equals(key) ) continue; // Since the valid entries are SAMEORIGIN, DENY, or ALLOW-URI // we can pretty much assume the answer is "not us" if the header // is present retval = true; break; } } catch (Exception e) { // Fail pretty silently because this could be pretty chatty with bad urls and all log.debug(e.getMessage()); retval = false; } placement.getPlacementConfig().setProperty(XFRAME_LAST_STATUS, String.valueOf(retval)); // Permanently set popup to true as we don't expect that a site will go back if ( retval == true ) placement.getPlacementConfig().setProperty(POPUP, "true"); placement.save(); log.debug("Retrieved="+url+" XFrame="+retval); return retval; }
Example 16
Source File: RedirectTest.java From jus with Apache License 2.0 | 4 votes |
@Before public void setup() { HttpURLConnection.setFollowRedirects(false); queue = Jus.newRequestQueue(null, new CustomHttpStack()); JusLog.MarkerLog.on(); }
Example 17
Source File: Cloudflare.java From cloudflare-scrape-Android with MIT License | 4 votes |
private void urlThread(cfCallback callback){ mCookieManager = new CookieManager(); mCookieManager.setCookiePolicy(CookiePolicy.ACCEPT_ALL); //接受所有cookies CookieHandler.setDefault(mCookieManager); HttpURLConnection.setFollowRedirects(false); while (!canVisit){ if (mRetry_count>MAX_COUNT){ break; } try { int responseCode = checkUrl(); if (responseCode==200){ canVisit=true; break; }else { getVisitCookie(); } } catch (IOException | RuntimeException | InterruptedException e) { if (mCookieList!=null){ mCookieList= new ArrayList<>(mCookieList); mCookieList.clear(); } e.printStackTrace(); } finally { closeAllConn(); } mRetry_count++; } if (callback!=null){ Looper.prepare(); if (canVisit){ callback.onSuccess(mCookieList,hasNewUrl,mUrl); }else { e("Get Cookie Failed"); callback.onFail("Retries exceeded the limit"); } } }
Example 18
Source File: TestMapperWebapps.java From tomcatsrc with Apache License 2.0 | 4 votes |
@Test public void testRedirect() throws Exception { // Disable the following of redirects for this test only boolean originalValue = HttpURLConnection.getFollowRedirects(); HttpURLConnection.setFollowRedirects(false); try { Tomcat tomcat = getTomcatInstance(); // Use standard test webapp as ROOT File rootDir = new File("test/webapp-3.0"); org.apache.catalina.Context root = tomcat.addWebapp(null, "", rootDir.getAbsolutePath()); // Add a security constraint SecurityConstraint constraint = new SecurityConstraint(); SecurityCollection collection = new SecurityCollection(); collection.addPattern("/welcome-files/*"); collection.addPattern("/welcome-files"); constraint.addCollection(collection); constraint.addAuthRole("foo"); root.addConstraint(constraint); // Also make examples available File examplesDir = new File(getBuildDirectory(), "webapps/examples"); org.apache.catalina.Context examples = tomcat.addWebapp( null, "/examples", examplesDir.getAbsolutePath()); examples.setMapperContextRootRedirectEnabled(false); // Then block access to the examples to test redirection RemoteAddrValve rav = new RemoteAddrValve(); rav.setDeny(".*"); rav.setDenyStatus(404); examples.getPipeline().addValve(rav); tomcat.start(); // Redirects within a web application doRedirectTest("/welcome-files", 401); doRedirectTest("/welcome-files/", 401); doRedirectTest("/jsp", 302); doRedirectTest("/jsp/", 404); doRedirectTest("/WEB-INF", 404); doRedirectTest("/WEB-INF/", 404); // Redirects between web applications doRedirectTest("/examples", 404); doRedirectTest("/examples/", 404); } finally { HttpURLConnection.setFollowRedirects(originalValue); } }
Example 19
Source File: ApigeeHttpURLConnection.java From apigee-android-sdk with Apache License 2.0 | 4 votes |
public static void setFollowRedirects(boolean auto) { HttpURLConnection.setFollowRedirects(auto); }
Example 20
Source File: AccessTokenUtils.java From gitlab4j-api with MIT License | 4 votes |
/** * Fetches the GitLab health check access token using HTML scraping. * * @param baseUrl the GitLab server base URL * @param username the user name of an admin user to log in with * @param password the password of the provided username * @return the fetched health check access token * @throws GitLabApiException if any exception occurs */ public static final String getHealthCheckAccessToken(final String baseUrl, final String username, final String password) throws GitLabApiException { // Save the follow redirect state so it can be restored later boolean savedFollowRedirects = HttpURLConnection.getFollowRedirects(); String cookies = null; try { // Must manually follow redirects if (savedFollowRedirects) { HttpURLConnection.setFollowRedirects(false); } /******************************************************************************* * Step 1: Login and get the session cookie. * *******************************************************************************/ cookies = login(baseUrl, username, password); /******************************************************************************* * Step 2: Go to the /admin/health_check page and fetch the * health check * access token. * *******************************************************************************/ String urlString = baseUrl + "/admin/health_check"; URL url = new URL(urlString); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setRequestProperty("User-Agent", USER_AGENT); connection.setRequestProperty("Cookie", cookies); connection.setReadTimeout(10000); connection.setConnectTimeout(10000); // Make sure the response code is 200, otherwise there is a failure int responseCode = connection.getResponseCode(); if (responseCode != 200) { throw new GitLabApiException("Failure loading Health Check page, aborting!"); } // Extract the personal access token from the page and return it String content = getContent(connection); Matcher matcher = HEALTH_CHECK_ACCESS_TOKEN_PATTERN.matcher(content); if (!matcher.find()) { throw new GitLabApiException("health-check-access-token not found, aborting!"); } String healthCheckAccessToken = matcher.group(1); return (healthCheckAccessToken); } catch (IOException ioe) { throw new GitLabApiException(ioe); } finally { if (cookies != null) { try { logout(baseUrl, cookies); } catch (Exception ignore) {} } if (savedFollowRedirects) { HttpURLConnection.setFollowRedirects(true); } } }