2010-09-01 53 views
2

是否可以從給定的URL獲取生成的URL?例如使用Java獲取結果URL

System.out.println(realUrl("sourceforge.com")); 

private String realUrl(String url) 
{ 
.... 
} 

應打印生成的URL 「http://sourceforge.net/」,同樣tinyurls將返回目的地URL

+0

對不起,我誤解了你的問題,因爲得到的URL的「內容」。請刪除我的答案 – naikus 2010-09-01 05:38:41

回答

0

不正確的測試。

import java.io.*; 
import java.net.*; 

public class UrlCon3 
    { 

    public static void main(String[] args) 
     { 
     String x="http://tinyurl.com/cys7t"; 
     while(x!=null) 
     { 
      System.out.println(x); 
      x=getRedirectionUrl(x); 
     } 

     } 

    static String getRedirectionUrl(String x) 
    { 
     BufferedReader in = null; 
     try 
      { 
      URL url = new URL(x); 
      HttpURLConnection.setFollowRedirects(false); 
      HttpURLConnection uc = (HttpURLConnection)url.openConnection(); 
      uc.connect(); 
      in = new BufferedReader(new InputStreamReader(uc.getInputStream())); 
      return(uc.getHeaderField("Location")); 
      } 
     catch (MalformedURLException e) 
      { 
      e.printStackTrace(); 
      } 
     catch (IOException e) 
      { 
      e.printStackTrace(); 
      } 
     finally 
      { 
      try 
       { 
       if (null != in) 
        { 
        in.close(); 
        } 
       } 
      catch (IOException e) 
       { 
       // ignore 
       } 
      } 
     return null; 
    } 
    }