Получить URL-адрес, на который происходит переадресация коротких URL-адресов с помощью HTTP-запроса с использованием Java

У меня короткий URL

bit.ly/18SuUzJ

что приводит к

stackru.com/

Знаете ли вы, как получить этот URL с помощью HTTP-запроса с Java? Я добавил Unirest в зависимости от maven и попробовал что-то вроде:

    HttpResponse<String> response = Unirest.get("bit.ly/18SuUzJ").asObject(String.class);
    System.out.println(response.getBody());

но я получаю всю структуру этой страницы, а не только URL. Как получить только URL-адрес, который будет работать для других коротких URL-адресов?

1 ответ

Решение

Попробуй это:

final String link = "bit.ly/18SuUzJ";
final URL url = new URL(link);
final HttpURLConnection urlConnection = 
(HttpURLConnection) url.openConnection();
urlConnection.setInstanceFollowRedirects(false);

final String location = 
urlConnection.getHeaderField("location");
System.out.println(location);

Расположение будет печатать полный URL.

Другие вопросы по тегам