1

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

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

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

我尝试使用 wget,发现所有 url 都被重定向到一个 url。

当我转到页面并通过单击“下载到 PC”按钮下载相同的文件时,它可以正常工作并下载我想要的文件。

有什么方法可以下载我想要的文件吗?我可以修改代码以获得正确的 APK 吗?这是网络编程的能力之一吗?

这是下载APK的代码

private static void downloadSample(String directLink) throws Exception
    {
        String[] getAPKName = directLink.split("/");
        System.out.println(getAPKName[getAPKName.length -1]);
        String APKName = getAPKName[getAPKName.length -1];        
        org.apache.commons.io.FileUtils.copyURLToFile(new URL(directLink), new File("C:\\Users\\Documents\\NetBeansProjects\\JavaApplication21\\APK\\"
+ APKName));

    }
4

1 回答 1

1

有什么方法可以下载我想要的文件吗?我可以修改代码以获得正确的 APK 吗?这是网络编程的能力之一吗?

从技术上讲,是的,有一种方法,但我们不能告诉你它是什么。基本上,您已经弄清楚了您的 Java 请求是什么导致服务器的行为与您从浏览器发出请求时不同。使用 FireBug(或等效)查看浏览器请求将是一个好的开始。检查您正在下载的文件(从 Java 下载)以查看其中包含的内容也是值得的。它可能是错误消息或通知或其他东西。

但是,您还应该考虑为什么要设置服务器来执行此操作。

  • 您是否查看过网站的条款和条件?
  • 你的所作所为符合他们吗?
  • 你有权做你正在做的事吗?
于 2013-03-10T15:02:20.030 回答