首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Groovy HttpBuilder中使用NonProxyHosts

在Groovy HttpBuilder中使用NonProxyHosts
EN

Stack Overflow用户
提问于 2015-07-21 22:34:50
回答 1查看 277关注 0票数 1

如果我创建如下所示的httpBuilder (假设设置了proxyUsername,因此调用了setCredentials ),那么对正确传入的httpAddress的调用将通过代理路由。但是,应用程序在本地网络中有一些http调用。是否可以使用http.nonProxyHosts来解决此问题并绕过代理?如果是这样的话,是怎么做的?使用System.setProperty?或者是HttpBuilder上的东西?

代码语言:javascript
复制
    HTTPBuilder httpBuilder = new HTTPBuilder(httpAddress)
    httpBuilder.setProxy(webProxyHost, webProxyPort, webProxyProtocol)
    if (proxyUsername) {
        httpBuilder.client.getCredentialsProvider().setCredentials(
                    new AuthScope(webProxyHost, webProxyPort),
                    new UsernamePasswordCredentials(proxyUsername, proxyPassword))
        }
    }

在上面的代码中,所有不同的命名元素(webProxyHost等)都被声明为字符串并相应地进行设置。

EN

回答 1

Stack Overflow用户

发布于 2016-07-18 20:10:16

在回答上面评论中的问题时,我们主要的'nonProxyHost‘需求是'localhost’,这是默认情况下存在的。因此,这不再是一个问题。我并没有真正了解如何做到这一点,因为它在HttpClient上是特定于版本的。

您可以设置系统属性:

代码语言:javascript
复制
System.setProperty('http.nonProxyHosts', myNonProxyHosts)

但是,如果您在HttpBuilder上调用'setProxy‘,即使您调用'useSystemProperties’,它也不会。这是在他们的文档中,只是不明显!

最后,您可以调用:

代码语言:javascript
复制
httpBuilder.client.params.setParameter('http.nonProxyHosts', myNonProxyHosts)

但我不确定这是否是属性名称,而且很难找到这些属性的文档。更糟糕的是-那些'params‘已经被弃用了-你应该使用更好的'config’类,尽管再次找到关于所有参数的全面文档并不是最容易的!希望我能帮上更多的忙!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31542079

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档