当前位置: 首页 > 知识库问答 >
问题:

jmeter无效的UTF-8中间字节

田德运
2023-03-14

我使用jMeter通过post请求向测试服务器发送json。

以下请求总是失败:

{
    "location": {
        "latitude": "37.390737",
        "longitude": "-121.973864"
    },
    "category": "Café & Bakeries"
}

响应数据中的错误消息为:

Invalid UTF-8 middle byte 0x20
 at [Source: org.apache.catalina.connector.CoyoteInputStream@6073ddf0; line: 6, column: 20]

请求根本不发送到服务器。其他请求(例如将类别中的值替换为其他有效类别,如“Delis”)工作完美。

我猜这是一个与“Café”有关的编码问题,但我不知道如何解决它。知道吗?谢谢

共有3个答案

何越
2023-03-14

在jmeter 5.2.1中,上述解决方案都不适用于我

我试过什么?

  1. 文件名:samplester属性集。违约编码=UTF-8(不起作用)
邰昀
2023-03-14

您可能需要一个HTTP头来发布JSON:

Content-Type: application/json; charset=utf-8

如果没有这个,字符串很可能不是UTF-8编码的。JSON应该是UTF-8格式,因此ee的十六进制字节应该是0xc3 0xa9

如果没有该标头,字节序列可能是0xe9,采用ISO-8859-1编码。这可以解释错误,因为以0xe_开头的UTF-8序列是3字节序列,因此它会看到0xe9 0x20(其中0x20é之后的空格)并抱怨“无效的中间字节”。

来源:使用JMeter发布JSON请求

陆展
2023-03-14

在HTTP请求本身中,可以设置“内容编码”。我在那里设置了“utf-8”,它解决了这个问题

 类似资料:
  • 问题内容: 当(杰克逊,在这种情况下)JSON引擎尝试解析一些未使用UTF-8编码的JSON时,会发生此错误。 如何告诉引擎它应该期望与UTF-8不同的东西,例如UTF-16? 错误日志: 问题答案: JSON数据必须编码为UTF-8,UTF-16或UTF-32。JSON解码器可以通过检查字节流的前四个八位字节来确定编码: 听起来好像服务器正在以某种非法编码(ISO-8859-1,Windows-

  • 在Java中,我向JSON对象添加一些属性,并将这些值发送到HTTPS URL(REST API)。服务器抛出一些错误,如“无效的utf-8开始字节0xb0”。下面是我的代码:

  • 我正在使用JMeter将JSON作为主体发送一个post请求。 当我使用Postman执行相同的请求时,我得到了成功的响应。 但使用JMeter时,我得到的是“JSON解析错误:无效的UTF-8起始字节0xB0”。 基于被问到的类似问题,它似乎-(连字符)造成了问题,但不是100%确定这一点。 这些是我尝试的头的组合: 内容类型:Application/JSON;Charset=UTF-8 Con

  • 问题内容: 我在字符串列表的json.Marshal上得到这个: 原因很明显,但是如何在Go中删除/替换这样的字符串?我一直在阅读docst 和包,似乎没有明显/快速的方法。 例如,在Python中,您可以使用一些方法删除无效字符,将其替换为指定字符或严格设置,这会导致无效字符的异常。如何在Go中做等效的事情? 更新:我的意思是得到异常的原因(紧急?)-json.Marshal期望有效的UTF-8

  • 问题内容: 我有一个包含阿拉伯字符的xml文件。尝试解析文件时,出现异常,MalformedByteSequenceException:2字节UTF-8序列的无效字节2。我使用POI DOM来解析文档。 日志是 该异常仅在Windows Machine中出现,在Linux Machine中不出现。我该如何解决此问题。任何建议都应是可取的。 问题答案: 我已解决问题,方法是使用UTF8格式创建XML

  • 问题内容: 我正在使用排序规则调用来自MySQL数据库的数据。问题是某些行包含我无法清除的怪异数据。例如,符号,所以一旦到达,它就会失败。 我已经尝试过和,即使这样做,但它会不断通过并造成严重破坏。 在Mac上运行PHP 5.3.10。因此,问题是-如何清除无效的utf8符号,保留其余数据,以便可行? 更新。这是一种重现它的方法: 问题答案: 好像符号是,但由于数据由不应公开的姓氏组成,因此只显示