我必须获取一些短网址的重定向网址,以检查我是否可以下载最终页面。HttpHead 用于获取最终目标 url(参见下面的代码)。
HttpClient client = HttpClientBuilder.create().build();
HttpHead httpHead = new HttpHead("http://bit.ly/1DfSWSs");
HttpClientContext context = HttpClientContext.create();
client.execute(httpHead, context);
List<URI> redirectLocations = context.getRedirectLocations();
if (redirectLocations != null && !redirectLocations.isEmpty()) {
for (URI redirectURI : redirectLocations) {
//TODO print all
}
}
问题在于代码中的 URL 示例。重定向 url 中包含空格,因此无法创建 URI。
在能够调用 getRedirectLocations 方法之前,有什么方法可以对 URI 对象进行编码?