我已经挖掘过,无法找到任何方法使用Fiddler获取GET进入POST。考虑到它所做的所有其余事情,我希望有一些方法可以做到这一点。 我已经写了足够的Fiddler脚本来找到正确的URL并开始操作它,但不是最后一点。我需要这样做的原因是我正在使用的Web客户端需要更改它发送凭据的方式,但是另一个组处理它并且它们需要一些时间才能到达它。这是我到目前为止的代码:
if (oSession.fullUrl.Contains("j_spring_security_check") > -1)
{
var newUrl:String;
newUrl = oSession.fullUrl;
if (newUrl.Contains("j_username"))
newUrl = newUrl.Replace("j_username", "username");
if (newUrl.Contains("j_password"))
newUrl = newUrl.Replace("j_password", "password");
FiddlerObject.alert(newUrl);
// ### I need to change it from a GET to POST here ###
FiddlerObject.alert(newUrl);
}
答案 0 :(得分:0)
管理员在Fiddler留言板上给了我足够的信息来解决这个问题。 这是工作解决方案:
if (oSession.fullUrl.Contains("j_spring_security_check") &&
oSession.fullUrl.Contains("j_username") &&
oSession.HTTPMethodIs("GET"))
{
var newUrl:String;
newUrl = oSession.fullUrl;
if (newUrl.Contains("j_username"))
newUrl = newUrl.Replace("j_username", "username");
if (newUrl.Contains("j_password"))
newUrl = newUrl.Replace("j_password", "password");
FiddlerObject.alert(newUrl);
oSession.oFlags["ui-backcolor"] = "lightgreen"; // jbp for debug use
oSession.oRequest.headers.HTTPMethod = "POST";
oSession.oRequest["Content-Type"] = "application/x-www-form/urlencoded";
oSession.utilSetRequestBody("");
oSession.fullUrl = newUrl;
FiddlerObject.alert(oSession.fullUrl.ToString());
}