gpt4 book ai didi

jmeter - 使用 JMeter 发送带有二进制正文的 HTTP 请求

转载 作者:行者123 更新时间:2023-12-03 21:37:19 35 4
gpt4 key购买 nike

我正在尝试使用 JMeter 发送带有二进制内容的 HTTP 请求。
在文档中,我发现我可以发送包含二进制内容的文件。我认为这不是满足我需要的好解决方案,因为每个请求都有自己的二进制内容。

这是我用 Perl 编写的一个客户端示例,它演示了我尝试完成的任务:

$date_time = sprintf "%08X", time();
$BODY_TEMPLATE = "00${date_time}0015";
$body_len = (length (sprintf($BODY_TEMPLATE,0,0))) / 2;
# Here I set $TARGET & $HOST
$MSG_HEADER = "POST \/unil?URL=${TARGET} HTTP\/1.1\r\nHost: ${HOST}\r\ncontent-type:application/binary\r\ncontent-length: ${body_len}\r\n\r\n";
$body = pack ("H*", $BODY_TEMPLATE);
$message_to_send = $MSG_HEADER . $body;
# at this point I sent the entire message over a TCP socket I previously opened.

有任何想法吗?
谢谢,
尤瓦尔

最佳答案

可以使用 JMeter。我建议使用

  • Beanshell Pre-Processor 构建您的请求正文并将其存储到 JMeter 变量(您不需要计算内容长度,因为 JMeter 足够聪明,可以为您完成)
  • 使用 Beanshell 预处理器中生成的“正文数据”设置 HTTP 采样器(在正文生成代码的末尾,您需要执行类似 vars.put("mybody",generatedbodystring); 的操作。在您的 HTTP 采样器中,您可以引用 mybody 变量作为 ${mybody}${__V(mybody)}
  • 添加 HTTP Header Manager 以将 Content-Type 设置为“应用程序/二进制”

  • HTTP Header Manager 和 BeanShell Pre Processor 必须是您的 HTTP 请求的 子代

    您可以使用调试采样器和查看结果树监听器来检查请求/响应详细信息和正在发送的数据。

    希望这可以帮助。

    关于jmeter - 使用 JMeter 发送带有二进制正文的 HTTP 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20219750/

    35 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com