首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Fiddler将二进制文件数据添加到POST

请求体中的方法。

方法一:使用 Chunks

在 Fiddler 中,可以通过设置 autoResize 选项为 true 来启用自动调整流大小。这会让 Fiddler 尝试自动根据响应体大小调整流大小。

代码语言:javascript
复制
const request = new Request('http://example.com/data.bin', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/octet-stream',
    'Content-Length': data.length
  }
});

request.on('response', (response) => {
  response.body = new Stream.Readable({
    get: () => data,
    set: (chunk) => {
      data = Buffer.concat([data, chunk]);
      request.body.resume();
    }
  });
  response.on('end', () => {
    console.log('Response ended');
  });
});

request.on('error', (error) => {
  console.error('Request error', error);
});

request.write(data);
request.end();

在上述代码中,我们首先创建了一个 Request 对象,设置了请求方法和请求头。在 on('response') 方法中,我们将响应体设置为 Stream.Readable 对象,这样我们就可以在读取响应体时使用 resume() 方法。在 on('end') 方法中,我们可以在响应结束时不执行任何操作。

on('error') 方法中,我们捕获请求错误,并在控制台上显示错误信息。

最后,我们使用 request.write() 方法将二进制文件数据写入请求体中,然后使用 request.end() 方法发送请求。

方法二:使用 FiddlerScript

在 Fiddler 中,我们可以通过编写 FiddlerScript 来实现将二进制文件数据添加到 POST 请求中。我们可以使用 addFile 方法将二进制文件数据添加到 POST 请求体中。

首先,我们需要导入 fiddler 模块,然后创建一个函数来将二进制文件数据添加到 POST 请求体中。

代码语言:javascript
复制
const fs = require('fs');
const fiddler = require('fiddler');

const request = fiddler.createRequest('http://example.com/data.bin');
request.setHeader('Content-Type', 'application/octet-stream');
request.setHeader('Content-Length', data.length);

fs.createReadStream(data).pipe(request.createBodyStream());

在上述代码中,我们首先导入了 fiddler 模块和 fs 模块。然后,我们创建了一个 Request 对象,并使用 setHeader 方法设置了请求头信息。

接下来,我们使用 fs.createReadStream() 方法创建了一个可读流,并使用 pipe() 方法将其传递给 Request 对象的 createBodyStream() 方法。这将把二进制文件数据添加到 POST 请求体中。

最后,我们使用 fiddler.send() 方法将请求发送出去。

无论哪种方法,都可以在 Fiddler 中查看请求的原始数据,选择 Raw 选项卡,并复制请求体到剪贴板中。然后,可以将剪贴板中的数据粘贴到需要发送 POST 请求的任何地方。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的沙龙

领券