请求体中的方法。
在 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 请求的任何地方。
云+社区沙龙online第6期[开源之道]
云+社区技术沙龙[第11期]
新知·音视频技术公开课
云+未来峰会
DB・洞见
Techo Day
云+社区技术沙龙[第17期]
云+社区技术沙龙[第20期]
TVP行业交流会
领取专属 10元无门槛券
手把手带您无忧上云