我需要从市场上下载一堆apks。使用Multi-apk工具分析每个文件是否包含广告并重新压缩(这不是问题,所以我不会再进一步讨论)
现在,我正在做我将从特定市场下载apk的部分。我获取页面的源代码并获取以.APK
结尾的所有URL从页面中提取每个URL后,我使用commons io下载它。但是,每当下载完成时,我都注意到它们的大小都相同。这让我觉得它正在下载同一个文件。
后来,我意识到我被重定向到另一个URL。
我想要做的是确定网址是否将我重定向到其他网址。
我尝试获取该网址的响应代码,它给了我200但是当我已经连接时,它会稍后将我重定向到另一个页面。
以下是我用来尝试检查网址响应代码的代码。
boolean urlValidity =true;
try
{
URLConnection urlConn = new URL(url).openConnection();
String RC = urlConn.getHeaderField(0);
System.out.println("RC " + RC);
if ( (RC == null) || (!(RC.contains("200"))) )
{
urlValidity = false;
}
}
catch(Exception e)
{
return false;
}
return urlValidity;
我需要这样做,所以我不需要继续下载该URL的APK。 有没有办法以编程方式修复此问题?
答案 0 :(得分:0)
您应该将setInstanceFollowRedirects
设置为false,以确保您不会被重定向。这也将从您所建立的连接中下载非常少的内容。
我最近有一个项目,我必须找到URL为了到达最终URL所做的跳数,并且可以使用LongURL API。