Javaにおけるプロキシ(Proxy)の設定

今更ながら、javaにおけるプロキシ(Proxy)の設定についてのメモ。シェル等の環境変数で渡せると思っていたら記憶間違い。

正しくは、
java -Dhttp.proxyHost=xxxxx -Dhttp.proxyPort=8080 xxxx
などと指定する必要がある。詳細は、JavaのNetworking Proxiesの資料を参照のこと。ftpのプロキシなどさまざまな設定が書いてある。
Java Networking and Proxies

javaMakefileに相当するMavenでは、Mavenの設定ファイルであるsettings.xmlにプロキシの設定を書く。
Maven – Guide to using proxies
http://blogs.sun.com/nishigaya/entry/javaee5_with_maven2

ちなみに、プロキシの設定は、ネットワークライブラリの問題であるため、上記の例では対処できない場合がある。たとえば、AmazonJava SDKなどでは、JavaDocを見て、設定する必要がある。


ついでながら、Rubyについても調べてみる。デフォルトでは、コード上に書く。
Net::HTTP::Proxy(proxy_addr, proxy_port).start('www.example.com') {|http|
Class: Net::HTTP (Ruby 2.6.3)
とはいえ、Rubyのライブラリでは、環境変数で受け付けるものもある。
たとえば、RubySOAPライブラリであるSOAP4Rの場合は、環境変数HTTP_PROXYを設定するだけでよいらしい。
http://dev.ctor.org/soap4r/wiki/AccessThroughProxyServer