자바 프로그램을 사용하여 짧은 URL에서 확장 된 URL을 가져옵니다. Java URLConnection
을 사용하면 두 가지 방법 중 원하는 결과를 얻는 것이 더 낫습니다.전체 URL 주소를 가장 효율적으로 얻는 방법은 무엇입니까?
Connection.getHeaderField("Location");
Connection.getURL();
대 나는 그들 모두 동일한 출력을 제공 같아요. 첫 번째 방법은 나에게 최상의 결과를주지 못했지만 7 개 중 1 개만 해결되었습니다. 두 번째 방법으로 효율성을 높일 수 있습니까?
더 좋은 방법을 사용할 수 있습니까?
@Test
public void testLocation() throws Exception {
final String link = "http://bit.ly/4Agih5";
final URL url = new URL(link);
final HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
urlConnection.setInstanceFollowRedirects(false);
final String location = urlConnection.getHeaderField("location");
assertEquals("http://stackoverflow.com/", location);
assertEquals(link, urlConnection.getURL().toString());
}
setInstanceFollowRedirects(false)
와 HttpURLConnection
가 리디렉션 및 (위의 예에서 stackoverflow.com
) 대상 페이지를 따르지 않는 bit.ly
에서 불과 리디렉션 페이지를 다운로드되지 않습니다 :
과 같은 라인을 따라 더 완벽한 방법을 포함 당신은 당신이 bit.ly 티니 URL 또는 같은 서비스에서 발생하는 뭔가를 의미합니까? – Kiril
네, 정확하지만이 두 가지로 제한되지 않습니다. – R1234