Vous pouvez être redirigé lorsque vous demandez une URL. Une note sur la façon d'obtenir l'URL redirigée finale.
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);
}
}
Ajoutez ce qui suit à pom.xml
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId>
<version>3.13.1</version>
</dependency>
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