请求体中的方法。
在 Fiddler 中,可以通过设置 autoResize
选项为 true
来启用自动调整流大小。这会让 Fiddler 尝试自动根据响应体大小调整流大小。
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()
方法发送请求。
在 Fiddler 中,我们可以通过编写 FiddlerScript 来实现将二进制文件数据添加到 POST 请求中。我们可以使用 addFile
方法将二进制文件数据添加到 POST 请求体中。
首先,我们需要导入 fiddler
模块,然后创建一个函数来将二进制文件数据添加到 POST 请求体中。
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 请求的任何地方。
领取专属 10元无门槛券
手把手带您无忧上云