0

次のように、Android AVDからHttpPostを実行しています...

// Create a new HttpClient and Post Header 
HttpClient httpclient = new DefaultHttpClient(); 
HttpPost httppost = new HttpPost("http://www.yoursite.com/api/GETTrafficDirector"); 
HttpResponse response = null; 

try { 
    // Add your data 
    List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(); 
    nameValuePairs.add(new BasicNameValuePair("id", "12345")); 
    nameValuePairs.add(new BasicNameValuePair("stringdata", "AndDev is Cool!")); 
    httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs)); 

    // Execute HTTP Post Request 
    response = httpclient.execute(httppost); 
}

投稿の実行時に Fiddler を実行していますが、Fiddler では何も起こりません。Fiddler はこの投稿をキャッチすべきではありませんか? Eclipse での表示は非常に読みにくいため、Entity の内容を検査したいと考えていました。ありがとう、ゲイリー

4

1 に答える 1

0

このチュートリアルを見ると、127.0.0.1 を指すプロキシとフィドラーが実行されているポートを使用して Android AVD を開始する必要があります。

編集:これらの手順を使用していくつかの実験を行った後、エミュレーターが127.0.0.1をホストコンピューターではなくそれ自体として尊重し始めたので、ホストのIPアドレスを入力しました

次に、APN のユーザー名とパスワードのそれぞれから 1 文字を削除すると、フィドラーはエミュレーターのブラウザーからトラフィックをログに記録し始めましたが、アプリからはログを記録しませんでした。

つまり、少なくとも途中までは進んでいます。

さらに編集:

この質問を見るシステムプロキシに関する情報を取得する システムプロキシ設定を使用するようにアプリに明示的に指示する必要があるようです(これは私には精神的に思えます)

さらにもう1つの編集:

追加すると

    HttpHost proxy = new HttpHost("192.168.0.9", 8888);
    client.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY, proxy);

アプリのクライアント設定に接続すると、アプリからの発信トラフィックが表示されます

于 2012-10-01T23:06:32.373 に答える