程序员爱折腾 2023-03-26 13:37 采纳率: 0%
浏览 30

fiddlerscript 如何获取和修改multipart_form的内容

fiddlerscript 如何获取和修改multipart_form的内容

img

  • 写回答

1条回答 默认 最新

  • Bony- 2023-03-26 19:55
    关注

    在 FiddlerScript 中,可以通过 oSession.GetRequestBodyAsString() 方法获取请求中的 multipart/form-data 数据,通过 oSession.utilDecodeRequest() 方法将请求体解码为键值对的形式,然后对其中的值进行修改。

    下面是一个简单的示例,展示了如何获取和修改 multipart/form-data 请求中的内容:

    // 将 oSession.utilDecodeRequest() 方法返回的键值对转换为字典类型
    Dictionary<string, string> formData = new Dictionary<string, string>();
    foreach (string line in oSession.utilDecodeRequest(oSession.requestBodyBytes))
    {
        string[] parts = line.Split(new char[] { ':' }, 2);
        if (parts.Length == 2)
        {
            formData[parts[0].Trim()] = parts[1].Trim();
        }
    }
    
    // 获取名称为 "username" 的表单字段的值
    string username = formData["username"];
    
    // 修改名称为 "password" 的表单字段的值
    formData["password"] = "new-password";
    
    // 将修改后的表单数据重新编码为字符串
    string newRequestBody = "";
    foreach (KeyValuePair<string, string> kvp in formData)
    {
        newRequestBody += kvp.Key + ": " + kvp.Value + "\r\n";
    }
    newRequestBody = newRequestBody.Trim();
    
    // 将新的请求体设置为请求的内容
    oSession.utilSetRequestBody(newRequestBody);
    
    
    ```在上面的示例中,我们首先将请求体解码为键值对的形式,然后获取了名称为 "username" 的表单字段的值,并将名称为 "password" 的表单字段的值修改为了 "new-password"。最后,我们将修改后的表单数据重新编码为字符串,并将其设置为请求的内容。
    
    需要注意的是,multipart/form-data 数据通常包含多个表单字段和文件,如果您需要修改其中的文件内容,请使用 oSession.GetRequestBodyAsBytes() 方法获取原始请求体,然后使用类似于 formData 字典的方式处理其中的内容。另外,修改 multipart/form-data 数据可能会破坏数据的完整性,因此请谨慎使用。
    

    展开全部

    评论
    程序员爱折腾 2023-03-27 13:58

    大佬,能否帮忙用jscript.net写一份呀

    回复
    编辑
    预览

    报告相同问题?

    手机看
    程序员都在用的中文IT技术交流社区

    程序员都在用的中文IT技术交流社区

    专业的中文 IT 技术社区,与千万技术人共成长

    专业的中文 IT 技术社区,与千万技术人共成长

    关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

    关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

    客服 返回
    顶部