如何在Java中从URL加载JAR文件,同时通过在请求中添加必要的HTTP标头来使文件请求看起来合法。
我知道如何维护加载的JAR文件的唯一方法是使用ClassLoader
。
我认为我把这个问题钉得很好(或者说这似乎在我的脑海里!)但如果有人需要我提供更多信息才能帮助我,请务必问我。
答案 0 :(得分:1)
答案 1 :(得分:0)
您可以通过在URLStreamHandlerFactory
中传递自定义URLClassLoader
constructor来传递特定的HTTP标头。
请注意,这与使用URLClassLoader
创建newInstance
略有不同,因为它不使用checkPackageAccess
中的SecurityManager
(因此您可能必须自己这样做) )。
或者,也许jcloader可能会引起人们的兴趣(但我还没有尝试过):可能更容易制作更传统的HTTP请求(不使用URLStreamHandlerFactory
),可能是您想要的HTTP标头,然后使用其中一个类加载器加载结果(作为InputStream
或类似的东西)。
(当然,从远程源加载jar文件还有其他安全隐患,因为您可能需要验证您是否信任此文件的完整性。)