2012-03-08 33 views
21

現在、HTTP POSTを使用してcsvファイルといくつかの他のパラメータをサーバーにアップロードするJavaアプリケーションを作成しています。サーバーは私のアプリケーションに500のエラーを返し続けます。私はPOST要求を見ることができるように、FiddlerでHTTPリクエストを表示したいと思います。
Fiddlerを実行すると、JavaアプリケーションからのHTTPトラフィックはキャプチャされません。私は動作するGETリクエストを書いているので、サーバーと通信できることはわかっていますが、Fiddlerではトラフィックは表示されません。JavaアプリケーションからHTTPリクエストを取得しないFiddler

+0

投稿を処理するJavaサーブレットはありますか? –

+0

httpsトラフィックではないと確信していますか? – matcheek

+0

ありません。 ApacheのHTTPComponentsを使用して、サーバー上のAPIからアップロードメソッドを呼び出しています。 – Andrew

答えて

18

あなたは、単にHTTPトラフィックとHTTPSトラフィックの https.proxyHost/https.proxyPortためにlocalhostのhttp.proxyPortにプロパティ

http.proxyHostを設定することで、アプリケーションのためのHTTPプロキシとしてフィドラーを設定することができます。 HTTPSトラフィックの場合、Fiddlerルート証明書(オプションダイアログでエクスポート可能)を信頼できる証明書としてアプリケーションに追加する必要があります。

あなたはあなたのコード

System.setProperty("http.proxyHost", "localhost"); 
System.setProperty("http.proxyPort", "8888"); 

の先頭に以下の行を追加することで、そうやJava-VM起動時にコマンドラインを介してそれらを設定することができます。

桟橋HTTPクライアントとの
java -Dhttp.proxyHost=localhost -Dhttp.proxyPort=8888 ... 
+0

私が書いている開発サーバーは自己署名証明書を使用しているので、すべての証明書を信頼するためのクラスを作成しました。私はproxyHostとproxyPortプロパティを設定しましたが、まだFiddlerを通してアプリケーションからのトラフィックは見られません。 – Andrew

+0

プロパティでhttpsを使用し、ローカルホストを127.0.0.1に変更することで、これを動作させることができました。 – Andrew

+1

私の変更により、HttpURLConnectionを使用するHTTP GETリクエストを表示することができました。 POST要求はApacheのHttpComponentsを使用しており、このトラフィックはまだ表示されません。 – Andrew

1

、以前の解決策は機能しません。 ただし、次のように動作します。

HttpClient httpClient = new HttpClient(); 
httpClient.setProxy(new Address("127.0.0.1", 8888)); 
httpClient.start(); 
+0

あなたはどのように知っていますか?それをHTTPSで動作させるには? – Arya

関連する問題