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 中的显示很难阅读。谢谢,加里

4

1 回答 1

0

如果您查看本教程,您必须使用指向 127.0.0.1 的代理以及正在运行的任何端口提琴手来启动 Android AVD。

编辑:在使用这些说明进行一些实验后,我突然想到,也许模拟器开始尊重 127.0.0.1 本身而不是主机,所以我输入了我的主机 IP 地址

然后从 APN 中的每个用户名和密码中删除单个字符,fiddler 开始从模拟器的浏览器而不是我的应用程序记录流量。

所以这至少是其中的一部分。

进一步编辑:

看这个问题Getting information about the system proxy看来您需要明确告诉您的应用程序使用系统代理设置(这对我来说似乎很精神)

还有一个编辑:

如果我添加

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

在我的应用程序中设置我的客户端,然后我会看到来自我的应用程序的传出流量

于 2012-10-01T23:06:32.373 回答