Android examples for Network:HTTP
get Redirected Url
/*************************************************************************** * Copyright 2005-2009 Last.fm Ltd. * * Portions contributed by Casey Link, Lukasz Wisniewski, * * Mike Jennings, and Michael Novak Jr. * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * * the Free Software Foundation; either version 2 of the License, or * * (at your option) any later version. * * * * This program is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * * GNU General Public License for more details. * * * * You should have received a copy of the GNU General Public License * * along with this program; if not, write to the * * Free Software Foundation, Inc., * * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * ***************************************************************************/ //package com.java2s; import java.io.IOException; import java.net.HttpURLConnection; import java.net.URL; public class Main { private static final int REDIRECT_RESPONSE_CODE = 302; public static String useragent; public static URL getRedirectedUrl(URL url) throws IOException { HttpURLConnection conn = (HttpURLConnection) url.openConnection(); setUserAgent(conn);//w w w .ja va2 s . c o m conn.setRequestMethod("GET"); conn.setInstanceFollowRedirects(false); conn.setRequestProperty("connection", "close"); int rc = conn.getResponseCode(); if (rc != REDIRECT_RESPONSE_CODE) { throw new IOException("code " + rc + " '" + conn.getResponseMessage() + "'"); } String location = conn.getHeaderField("Location"); if (location == null) { throw new IOException("No 'Location' header found"); } return new URL(location); } /** mainly sets the User-Agent we need */ private static void setUserAgent(HttpURLConnection conn) { if (useragent != null) conn.setRequestProperty("User-Agent", useragent); } }