Java HTTP Proxy

2008 年 6 月 25 日 | カテゴリー: プログラム

2008062502.png

Java Application が HTTP Proxy 経由で接続を行うにはプロキシ情報の設定が必要です。
いくつか方法はあるのですが、今回 Jakarta の HTTP Client (HttpComponents – HttpComponents Downloads) はどれにも該当しないということでハマりました。

JavaVM に設定する例を3つ挙げた後、最後に Jakarta HTTP Client での設定について記述します。
proxy の URL が proxy.hogehoge.com で port が 8080 の場合の例。

Java Application 起動時に設定

java -Dhttp.proxyHost=proxy.hogehoge.com -Dhttp.proxyPort=8080 -jar foo.jar

プログラム実行時に動的に設定

System.setProperty("http.proxyHost", "proxy.hogehoge.com");
System.setProperty("http.proxyPort", "8080");

JavaVM の設定ファイルに直接記述

JDK をインストールした場所を JAVA_HOME として記述します。
JAVA_HOME/jre/lib/net.properties を編集します。

# http.proxyHost=
http.proxyHost=proxy.hogehoge.com
# http.proxyPort=80
http.proxyPort=8080

https や ftp も同様の方法で設定可能です。

Jakarta HTTP Client での proxy の設定

JavaVM の設定は無視するようです。インスタンスに対して設定を行います。

HttpClient client = new HttpClient();
client.getHostConfiguration().setProxy("proxy.hogehoge.com", 8080);
コメントはまだありません。