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

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

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

img

  • 写回答

1条回答 默认 最新

  • Bony- 2023-03-27 03: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 数据可能会破坏数据的完整性,因此请谨慎使用。
    
    评论

报告相同问题?

问题事件

  • 创建了问题 3月26日

悬赏问题

  • ¥15 编辑cmake lists 明明写了project项目名,但是还是报错怎么回事
  • ¥15 关于#计算机视觉#的问题:求一份高质量桥梁多病害数据集
  • ¥15 特定网页无法访问,已排除网页问题
  • ¥50 如何将脑的图像投影到颅骨上
  • ¥15 提问一个关于vscode相关的环境配置问题,就是输入中文但是显示不出来,代码在idea可以显示中文,但在vscode不行,不知道怎么配置环境
  • ¥15 netcore使用PuppeteerSharp截图
  • ¥20 这张图页头,页脚具体代码该怎么写?
  • ¥15 关于#sql#的问题,请各位专家解答!
  • ¥20 WPF MVVM模式 handycontrol 框架, hc:SearchBar 控件 Text="{Binding NavMenusKeyWords}" 绑定取不到值
  • ¥15 需要手写数字信号处理Dsp三个简单题 不用太复杂