我正在编写一个针对 RESTful api 的 phonegap 应用程序。出于调试目的,我想看看我的 POST 和 GET 是什么样的。谷歌上的所有信息都说使用提琴手代理。我安装了 fiddler 并开始工作,设置了我的 android 模拟器以使用它,但是每当我开始查询 restful 服务时,数据包就会以某种方式被破坏(或者至少是它的授权部分)。
如果我没有代理,以下 JS 代码在我的 android 模拟器中可以正常工作:
$.post("https://blah.hi.com/homepage/security_check",
$("#loginForm").serialize(), function (data, textStatus, jqXHR) {...
但是当我让提琴手去,以便我可以分析我的 android 应用程序发出的请求时,我收到以下错误:
据我通过检查提琴手中的初始请求可以看出,进行了以下更改:
User-Agent、Connection 和 Host 标头被剥离。我尝试使用 Fiddler 规则手动添加它们,但这不起作用。
这是一个很好的比较:
此外,当我查看请求的 TextView 选项卡时,Extensions 下的以下标题被剥离(以下是使用 Chrome 时请求的样子,并通过 fiddler 并正常工作):
现在这是通过 eclipse android 模拟器,通过 fiddler 并失败时的情况:
我考虑过使用 WireShark,但所有通信都是通过 https 完成的,并且更喜欢使用 fiddler。
任何建议将不胜感激!!另外,我通过使用以下参数 -http-proxy 127.0.0.1:8888 从这里http://vkosinets.com/blog/2011/08/16/debug-http-requests-from-android-emulator进入代理
编辑:这是使用 Android 4.X 模拟器时的一些调试信息(也失败了)。