[Java] Comment obtenir l'URL redirigée finale

Aperçu

Vous pouvez être redirigé lorsque vous demandez une URL. Une note sur la façon d'obtenir l'URL redirigée finale.

code

Utilisez okhttp3 pour la bibliothèque

Classe pour obtenir l'URL redirigée finale

RedirectFinalUrlResolver.java


package example;
import java.io.IOException;
import okhttp3.Interceptor;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;

public class FinalUrlResolver {

    private OkHttpClient mClient = new OkHttpClient.Builder()
            .addNetworkInterceptor(new Interceptor() {
                @Override
                public Response intercept(Chain chain) throws IOException {
                    return chain.proceed(chain.request());
                }
            })
            .build();

    public String get(String url) throws IOException {
        final Response r = mClient.newCall(new Request.Builder().url(url).build()).execute();
        return r.request().url().toString();
    }
}

** Classe d'exécution **

Example.java


package example;

import java.io.IOException;

public class Example {

    public static void main(String[] args) throws IOException {
        FinalUrlResolver o=new FinalUrlResolver();
        String url="https://qiita.com/settings/account";
        String finalUrl=o.get(url);
        System.out.println("original url="+url);
        System.out.println("final url="+finalUrl);
    }
}

Dépendance (maven)

Ajoutez ce qui suit à pom.xml

<dependency>
    <groupId>com.squareup.okhttp3</groupId>
    <artifactId>okhttp</artifactId>
    <version>3.13.1</version>
</dependency>

Résultat d'exécution

Lorsque j'ai exécuté ** Example.java **, j'ai obtenu l'URL redirigée finale.

original url=https://qiita.com/settings/account
final url=https://qiita.com/login?redirect_to=https%3A%2F%2Fqiita.com%2Fsettings%2Faccount

Recommended Posts

[Java] Comment obtenir l'URL redirigée finale
[Java] Comment obtenir l'URL de la source de transition
[Java] Comment obtenir le répertoire actuel
[Java] Comment obtenir la valeur maximale de HashMap
Source utilisée pour obtenir l'URL de la source de redirection en Java
Comment utiliser HttpClient de Java (Get)
Comment obtenir le nom d'une classe / méthode exécutée en Java
[Java] Comment utiliser la classe File
[Java] Comment utiliser la méthode toString ()
Etudier comment utiliser le constructeur (java)
[Traitement × Java] Comment utiliser la boucle
[Java] Comment régler la date sur 00:00:00
[Traitement × Java] Comment utiliser la classe
[Traitement × Java] Comment utiliser la fonction
[Java] Comment utiliser la classe Calendar
[Rails] Comment obtenir l'URL de la source de transition et la rediriger
[Java] Comment convertir du type String en type Path et obtenir le chemin
Comment obtenir la longueur d'un fichier audio avec Java
Comment obtenir une classe depuis Element en Java
[Java] (pour MacOS) Méthode de définition du chemin de classe
Comment utiliser la méthode replace () (Java Silver)
Comment obtenir et étudier Java SE8 Gold
[Java] Comment accéder au début d'une chaîne spécifique à l'aide de la classe String
Comment obtenir le chemin absolu d'un répertoire s'exécutant en Java
[Java] Mémo sur la façon d'écrire la source
Comment créer votre propre annotation en Java et obtenir la valeur
[Java] Comment obtenir facilement la plus longue chaîne de caractères d'ArrayList à l'aide de stream
Obtenez l'URL de la destination de la redirection HTTP en Java
[Java] Comment omettre le constructeur privé dans Lombok
Comment écrire Scala du point de vue de Java
[Java] Comment extraire le nom du fichier du chemin
[Android Studio] [Java] Comment réparer l'écran verticalement
[Java] Comment obtenir une requête par communication HTTP
À partir d'avril 2018 Comment installer Java 8 sur Mac
[Android] Comment obtenir la langue de réglage du terminal
[Rails] Comment obtenir le contenu des paramètres forts
[Swift] Comment obtenir l'ID de document Firebase
Comment abaisser la version java
[Java] Comment utiliser Map
Comment désinstaller Java 8 (Mac)
Comment utiliser java Facultatif
Comment réduire les images Java
Comment rédiger un commentaire java
Comment utiliser la classe Java
[Java] Comment utiliser removeAll ()
[Java] Comment afficher les Wingdings
Comment utiliser Java Map
Comment définir des constantes Java
Comment utiliser les variables Java