各スレッドが独自のプロキシを使用できる Java プログラムをセットアップしようとしています。
現在、プロキシをグローバルに設定する方法しか見つかりませんでした。( http://docs.oracle.com/javase/6/docs/technotes/guides/net/proxies.html )
前述のように、これらの設定は、これらのオプションで呼び出された VM の存続期間中、すべての http 接続に影響します。ただし、System.setProperty() メソッドを使用すると、もう少し動的な動作を行うことができます。
これを行う方法を示すコードの抜粋を次に示します。
//http プロキシを webcache.mydomain.com:8080 に設定します
System.setProperty("http.proxyHost", "webcache.mydomain.com"); System.setPropery("http.proxyPort", "8080");
アップデート
プロキシクラスを使用してみましたが、プロキシを使用したくない場合に直接接続を作成できません:
private void setProxy()
{
if(proxyUrl != null)
{
SocketAddress addr = new InetSocketAddress(proxyUrl, proxyPort);
proxy = new Proxy(Proxy.Type.HTTP, addr);
}
else
{
proxy = new Proxy(Proxy.Type.DIRECT, null);
}
}
Exception in .... java.lang.IllegalArgumentException: type DIRECT is not compatible with address null
これを直接接続で機能させるにはどうすればよいですか? プロキシはまだ試していません。