Kas*_*s81 2 java weblogic-10.x
我正在使用 WebLogic 服务器 10.x (11g) 来部署和服务我的应用程序。但是,我们的生产环境由代理服务器组成,如果我尝试访问某些站点,它会导致麻烦。
因此,我很想知道是否有任何可行的解决方案可以通过在我们的网站上配置代理服务器详细信息来解决此问题
提前致谢。
有两种可能的方法可以实现这一点。
让我们看看这些。
应用程序服务器中的代理配置让我们以WebLogic应用程序服务器来说明所需的配置
-jvmargs -Dhttp.proxySet=true -Dhttp.proxyHost=server_url -Dhttp.proxyPort=portset JAVA_OPTIONS=%JAVA_OPTIONS% -Dhttp.proxyHost=server_url -Dhttp.proxyPort=port有几种可用的实现,让我们讨论一些我认为有用的方法。
使用值的代理配置正如下面重点介绍的,您可以使用应用程序中以编程方式定义的值来配置代理。
System.setProperty("http.proxyHost", "proxy_url");
System.setProperty("http.proxyPort", "port");
Run Code Online (Sandbox Code Playgroud)
使用用户凭据进行配置
有时您可能需要提供准确的凭据才能通过代理服务器。这是一个可以帮助您实现这一目标的实现。
import java.net.Authenticator;
import java.net.PasswordAuthentication;
public class MyAuthenticator extends Authenticator {
private String username;
private String password;
public MyAuthenticator(String username, String password){
this.username = username;
this.password = password;
}
public PasswordAuthentication getPasswordAuthentication () {
return new PasswordAuthentication (username, password.toCharArray());
}
}
Run Code Online (Sandbox Code Playgroud)
定义的 Authenticator 类可用于将凭据注入代理配置,如下所示。
System.setProperty("http.proxyHost", "proxy_url");
System.setProperty("http.proxyPort", "port");
Authenticator.setDefault (new MyAuthenticator("domain_name\\user_name","password"));
Run Code Online (Sandbox Code Playgroud)
无论哪种情况,您都需要在程序级别实现用法,如下所示。否则,代理通信将不会成功并最终抛出异常。
final URL url = new URL(null, urlString, new sun.net.www.protocol.http.Handler());
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11117 次 |
| 最近记录: |