我正在从我的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中的显示很难阅读。 谢谢,加里
答案 0 :(得分:0)
如果查看this tutorial,您必须使用指向127.0.0.1的代理以及运行的任何端口fiddler启动Android AVD。
编辑: 在使用these instructions进行一些实验之后,我发现可能模拟器开始尊重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);
在我的应用中设置我的客户端,然后我会看到来自我的应用的传出流量