java - 以编程方式将 POST 二进制内容设置为 Jmeter 中的 HTTP 采样器

标签 java jmeter

我正在编写一个向时间戳机构发送时间戳请求的负载测试。

这是一个标准协议(protocol),在 rfc3161 中进行了描述。 这需要执行 POST,发送一个小的 ASN1 对象,即二进制对象。

我正在使用 Jmeter 生成流量。 现在,我已经编写了设置 ASN1 对象并创建 bytes[] 数组 的常规部分,但我无法将其复制到变量,因为转换为字符串会修改内容。 但是我找不到任何其他方式来传递此内容。

考虑到我必须生成的流量,写入文件然后附加它并不是一个可行的解决方案。

还有其他方法可以解决这个问题吗?

最佳答案

经过一些测试(以及一些好的建议),解决方案出现了,使用 iso-8859-1 等 8 位编码将字节数组转换为字符串。这是代码:

byte[] asn1seq = asn1Object.getEncoded();
String strArg = new String(asn1seq, "ISO-8859-1");

此外,您必须在 Jmeter 采样器配置掩码中设置相同的编码: enter image description here

关于java - 以编程方式将 POST 二进制内容设置为 Jmeter 中的 HTTP 采样器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60126446/

相关文章:

java - 修改JLabel的ImageIcon

java - 非静态比较器内部类

tomcat - 使用没有页面扩展的 jmeter 记录导航

java - 从 HTTPSampler 获取 HTTPClient 以在 Beanshell 中使用它

javascript - jmeter代码从提取的Url中删除crlf

JMeter 如果 Controller 不工作

java - 在泛型类型 "T"的对象和泛型类型 "<T extends Comparable<T>>"的对象之间进行转换

java - 使用java在环形平面上包含/排除

Java Hadoop-lzo 已找到接口(interface),但类是预期的 LzoTextInputFormat

jmeter - Jmeter HttpRequest java实现是单线程的