1

我正在尝试构建一个连接到网站的 groovy 脚本。网址以非标准格式.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 文件) ** 通过复制它们更新语法错误

4

1 回答 1

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)));
    }
});

这是来自未知主机异常的代码

于 2011-12-14T04:37:42.207 回答