4

ターゲット サーバーにアクセスするには、プロキシを経由する必要があります。次のようなコードでそれを行うことができるようです:

def http = new HTTPBuilder( 'http://www.somesite.com')
http.setProxy('proxy.com', 8080, 'http')

しかし、このようではありません:

System.setProperty("http.proxyHost", "proxy.com");
System.setProperty("http.proxyPort", "8080");
def http = new HTTPBuilder( 'http://www.somesite.com')

これはうまくいかないのですか?


本当の問題はHTTPBuilder、Grails アプリケーション内から使用していて、Tomcat を使用して起動するとプロキシを通過することを期待してい-Dhttp.proxyHostたことですが、それらの JVM パラメータを無視しているよう-Dhttp.proxyPortです。HTTPBuilderHTTPBuilder


次のようにhttpclientJVM パラメータを使用するように構成できるようですclient.getHostConfiguration().setProxy(host, port)(from this stackoverflow question )。これはHTTPBuilder(下敷きを参照する方法がわからないhttpclient) で実行できますか?

4

2 に答える 2

-1

私の知る限り、Grails アプリケーションのコンテキストでは、Tomcat 自体にホストとポートを提供できますが、サーバーの起動時に HTTP 呼び出しがプロキシを通過する方法の動作を定義することはできません。

アプリがプロキシ経由で接続するには、add-proxyset-proxy の設定が必要です。例えば:somesite.comproxy.com

grails add-proxy client --host=proxy.com --port=8080 
       --username=guest --password=guest
grails set-proxy client

これはテストされていません。これに従って、を使用できるかどうかを確認することもできますSystem.setProperty

于 2013-06-27T13:40:15.333 に答える