JNLP +代理+通过流问题下载文件

时间:2011-07-21 13:37:15

标签: java proxy jnlp

我正在编写从Web下载CSV文件并将数据插入数据库表中的应用程序。问题是我需要通过System.setProperty("http.proxyHost", "http-proxy.domain.com");等设置代理。我在本地系统上运行应用程序时工作正常,但问题是当我从JNLP启动它时。首先我遇到了签署JAR的问题(我已经设法让它以某种方式完成它)现在我遇到了问题,即使应用程序正在运行,它也没有连接到Web - 它会引发异常消息“连接超时:连接”。

JNLP文件如下所示:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<jnlp href="launch.jnlp" spec="1.0+">
    <information>
        <title>TestImporter</title>
        <vendor>hol</vendor>
        <homepage href=""/>
        <description>TestImporter</description>
        <description kind="short">TestImporter</description>    
    </information>
    <update check="always"/>
    <security>
        <all-permissions/>
    </security>
    <resources>
        <j2se version="1.6+"/>
        <jar href="TestImporter.jar" main="true"/>    
        <jar href="lib/ojdbc14.jar"/>
        <jar href="lib/mail.jar"/>
    </resources>
    <application-desc main-class="cz.test.Importer">
    </application-desc>
</jnlp>

我正在通过此代码连接到文件:

URLConnection yc = cnb.openConnection();
BufferedReader in = new BufferedReader(
                    new InputStreamReader(
                    yc.getInputStream()));

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

您可以尝试将代码包装在doPrivileged块中。检查一下:

http://download.oracle.com/javase/1.4.2/docs/api/java/security/AccessController.html

如果在实现之后,您的代码仍然失败,也许从Java控制台粘贴日志会有所帮助。