如何使用Fiddler脚本将GET更改为POST?

时间:2015-07-30 13:10:15

标签: fiddler

我已经挖掘过,无法找到任何方法使用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);
    }

1 个答案:

答案 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());
    }