[英]Hard coding Proxy in Java for connecting to specific URL
我有一個Web應用程序,該應用程序必須連接到外部Web服務(使用Axis客戶端)。 我必須執行兩件事:
當我們通過URI執行本地呼叫時,使用直接連接
http://localhost:7001/webApp/getImg?id=22
請注意,如果我們使用系統屬性(http.proxyHost等)而不是ProxySelector,它就像一個超級按鈕。
但是,然后所有本地電話都路由到了代理服務器上,這是我所不希望的。
因此,只有一個簡單的問題-如何實現與使用代理系統屬性時執行方式相同的ProxySelector
?
您還可以通過設置http.nonProxyHosts=localhost
使用系統屬性來實現。 如果您想使用ProxySelector
進行操作,請嘗試這樣的操作
final Proxy PROXY = new Proxy(Proxy.Type.HTTP,
new InetSocketAddress("my.proxy.server", 8080));
ProxySelector.setDefault(new ProxySelector() {
public List<Proxy> select(URI u) {
if(u != null && !"localhost".equals(u.getHost())) {
return Arrays.asList(PROXY, Proxy.NO_PROXY);
}
else {
return Collections.singletonList(Proxy.NO_PROXY);
}
}
public void connectFailed(URI u, SocketAddress sa, IOException e) {
// do nothing
}
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.