2012-03-15 4 views
2

私はAndroidアプリケーションを開発しており、エミュレータから送信されたデータをキャプチャする必要があります。私はシオマネキをインストールし、今の問題は私のAndroidアプリケーションは、私のローカルシステム上に配置されたサーバに接続する必要がある、あるEclipse IPアドレスのプロキシスキップ

-http-proxy 127.0.0.1:8888 

を使用してエミュレータを立ち上げました。それはできません(プロキシが設定されていると思います)。特定のIPアドレスのプロキシをスキップすることは可能ですか?私に教えてもらえますか?

+0

なぜhostsファイルを使用しないのですか? – nrph

答えて

0

私はAndroidプログラミングについてはあまり考えていませんが、あなたのタイトル「EclipseのIPアドレスのプロキシをスキップする」に基づいて、Eclipseの設定でプロキシから任意のIPをバイパスし、プロキシバイパス... (Plzが必要なものでない場合は無視します:)

0

あなたのエミュレータを起動する方法は、すべてのtcp接続が行われることを意味しますあなたのプロキシを通して強制されます(0:8888)。
私はプロキシ設定をバイパスするオプションについては知らないのですが、ドキュメント化されていない環境変数があるかもしれません。 (ドキュメンテーション:http://developer.android.com/guide/developing/tools/emulator.html

あなたの問題は、すべてのトラフィックを除いて、私はそれを使用したことはありませんのでご注意ください。
あなたのウェブサーバー(あなたのアプリケーションが話しているもの)へのTCPトラフィックを許可するには、Fiddlerが必要です。 http://www.fiddler2.com/Fiddler/help/OptionsUI.asp
また、ここではスクリーンショットで:http://www.fiddler2.com/Fiddler/help/hookup.asp

少しの運が良ければ、私はあなたのためにこれをテストすることはできませんが、あなたはここに「IEはバイオリンをバイパスする必要があり、」を見てみる必要があります
溶液A)
そこにあなたのWebサーバーのURLを入力することができます。

解決策b)
セットアップが簡単ではありません。 2番目のhttpプロキシを設定し、iptablesのようなファイアウォールを使用して、2番目のhttpプロキシ経由でWebサーバートラフィック(Fiddlerをバイパスしたいトラフィック)をルーティングすることができます。 SQUID()プロキシがそれを行うことができます(透過プロキシモード)。
かなりの作業がありますが、そのトリックを行う必要があります。

解決策c)
あなたのデータをキャプチャしたいとしました。フィドラーはそれ以上のことをしています。
あなたがしたいのはあなたのデータを分析するだけで、httpプロキシはまったく必要ありません。
wiresharkまたはtcpdump(http://www.wireshark.org/)を取得すると、トラフィックをキャプチャして記録できます。

ソリューションd)
アンドロイドエミュレータを変更し、プロキシバイパスサポートを追加する必要があります。

解決策e)
(squidアプローチの代わりに)何らかのポート転送ファイアウォールを使用し、別のポートで簡単な「Polipo」HTTPプロキシを実行します。
Polipo(http://www.pps.jussieu.fr/~jch/software/polipo/)はセットアップが簡単で、HTTPプロキシプロトコルは、接続の問題がなくポート転送された分割を可能にするのに十分なだけ単純な(カプセル化された要求)ものでなければなりません。

他に解決策がありません。