Windows上的Groovy URL UnknownHostException

时间:2011-12-13 04:04:01

标签: java linux groovy proxy unknown-host

我正在尝试构建一个连接到网站的groovy脚本。 webaddress以非标准格式 .abc 结尾。

我在Linux机器上运行了这段代码,现在我将它移到Windows机器上。 Windows框抛出UnknownHostException并失败。该网站确实在Linux和Windows上的浏览器中呈现。

def url = 'http://www.testURL.abc'
def connection = new URL(url).openConnection()
if (connection.responseCode != 200)
   <<Error Handling>>

我认为这可能是代理问题,因为Windows和Linux框都使用不同的代理进行连接。我调查了这个并在每个盒子上配置了Java以使用浏览器的代理,这也没有帮助。在这一点上,我有点卡住了。任何帮助将不胜感激。

编辑*两个代理都使用自动配置脚本(.pac文件) **通过复制

更新了语法错误

1 个答案:

答案 0 :(得分:0)

我最终通过代理问题找到了解决方案。我必须下载自动配置脚本(.pac文件)并找出我的URL使用了哪个代理主机和端口。

我必须使用以下代码设置代理主机和端口:

ProxySelector.setDefault(new ProxySelector() {

    @Override
    public void connectFailed(URI uri, SocketAddress sa, IOException ioe) {
        throw new RuntimeException("Proxy connect failed", ioe);
    }

    @Override
    public List select(URI uri) {
        return Arrays
            .asList(new Proxy(Proxy.Type.HTTP,
                              new InetSocketAddress(proxyHost,
                                                    proxyPort)));
    }
});

这是来自unknown host exception

的代码