私のアプリケーションと通信するHTTPサーバの間にプロキシを挿入できる必要があります。 HTTPサーバーは、LAN上の別のマシンで実行されています。プロキシはエミュレータと同じマシンで実行されています。Androidアプリケーションがプロキシ経由でエミュレータのローカルIPに接続できない
私はアンドロイド-10を使用しています、と私はこのようなエミュレータを起動した場合はUbuntuとWindows 7の
にこれらの同じ問題が発生しています:
emulator.exe @default
次に、アプリケーションが正常に接続されます。
私はこのようなアプリケーションを起動した場合しかし、:(Googleに)インターネットブラウザから作られた
emulator.exe @default -http-proxy 127.0.0.1:8008
リクエストは、プロキシを経由しますが、アプリケーションは、接続をすることはできません。
ローカルマシンのLAN IPアドレスを使用して、APNのプロキシ設定を設定しようとしました。
アプリケーションはHTTP(http://developer.android.com/reference/java/net/HttpURLConnection.html)を使用しているため、プロキシは要求を解釈できる必要があります。
プロキシをオフにして、プロキシをオンにしないで、エミュレータ内のインターネットブラウザを通じてサーバーにアクセスできます。
私は次の行でエミュレータを実行しました:
emulator.exe @default -http-proxy 127.0.0.1:8008 -debug-proxy
や要望として出て行っていたことに気づい:
http_service_connect: trying to connect to 192.168.3.131:8080
http_service_connect: using HTTP rewriter
tcp:192.168.3.131:8080(35): connecting
tcp:192.168.3.131:8080(35): connected to http proxy, sending header
tcp:192.168.3.131:8080(35): sending 39 bytes:
>> 43 4f 4e 4e 45 43 54 20 31 39 32 2e 31 36 38 2e CONNECT 192.168.
>> 33 2e 31 33 31 3a 38 30 38 30 20 48 54 54 50 2f 3.131:8080 HTTP/
>> 31 2e 31 0d 0a 0d 0a 1.1....
tcp:192.168.3.131:8080(35): header sent, receiving first answer line
tcp:192.168.3.131:8080(35): received 'HTTP/1.0 200 Connection established'
tcp:192.168.3.131:8080(35): receiving second answer line
tcp:192.168.3.131:8080(35): received ''
tcp:192.168.3.131:8080(35): connection succeeded
しかし、誰GETやPOSTリクエストが今までプロキシにそれを行うものではありません。
この問題のトラブルシューティングを続ける方法に関する推奨事項はありますか?
OK ..それではどのように達成するのですか?私も同じ問題があることを説明してください。 –
プロキシをサーバーのように直接話すようにアプリケーションを構成します。プロキシは、アプリケーションからサーバー要求を受け取ります...そして、それを実際のサーバーに転送するように構成できます(選択した場合は要求を変更します)。 – Dan
私の問題は、アプリケーションがサードパーティによって開発されたことです。ソースがなく、アプリケーション内で使用されているURLをプロキシサーバーに変更することはできませんが、プロキシ経由でネットワークトラフィックをテストする必要があります。すぐに回答する – rob