0

我需要从市场上下载一堆 apk。使用Multi-apk工具分析每个文件是否包含广告并再次压缩(这不是问题,所以我将进一步讨论)

现在,我正在做的部分是从特定市场下载 apk。我获取了页面的源代码并获取了所有以 .APK 结尾的 URL

从页面中提取每个 URL 后,我使用 commons io 下载它。但是,每当下载完成时,我注意到它们的大小都相同。这让我觉得它正在下载相同的文件。

后来,我意识到我被重定向到不同的 URL。

我想要做的是确定 URL 是否将我重定向到不同的 URL。

我尝试获取该 URL 的响应代码,它给了我 200,但是当我已经连接时,它稍后会将我重定向到另一个页面。

这是我用来检查 URL 响应代码的代码。

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。有没有办法以编程方式解决这个问题?

4

1 回答 1

0

您应该将其设置setInstanceFollowRedirects为 false 以确保您不会被重定向。这也将从您建立的连接中下载非常少的内容。我最近有一个项目,我必须找出一个 URL 需要经过多少跳才能到达最终 URL,并且可以使用 LongURL API。

于 2013-03-13T10:55:31.047 回答