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

请求在Postman中工作正常,但给出了一个错误Apache-JMETER

敖硕
2023-03-14

在Apache J Meter中用1个线程触发请求时,我得到以下错误-org.Apache.http.nohttpresponseException:xxx.tc.at.xxx.net:8443未能在org.Apache.http.impl.conn.defaultthtpresponseparser.parsehead(Defaultthtpresponseparser.java:141)在org.Apache.http.impl.conn.defaultthpresponseparser.java:56)在org.Apache.http.impl.io.abstractMessageParser.parse(abstractMessageParser.java:259)在org.Apache.http.impl.defaultClientConnection.ReceiveResponseHeader(DefaultbHttpClientConnection.java:163)在org.Apache.http.impl.conn.cpoolProxy.ReceiveResponseHeader(CpoolProxy.java:157)在org.Apache.http.protocol.httprequestExecutor.doReceiveResponse(httprequestExecutor.java:273)在org.Apache.http.protocol.http.protocol.httprequestExecutor.execute(httprequestExecutor.java:273)在org.Apache.http.impl.execchain.mainclientExecutor.execute(httprequestExecutor.java:125)在org.Apache.h在org.apache.http.impl.execchain.redirectexec.execute(retryexec.java:89)在org.apache.http.impl.client.internalHttpClient.doExecute(redirectexec.java:110)在org.apache.http.impl.client.closeableHttpClient.execute(internalHttpClient.java:185)在org.apache.http.impl.client.closeableHttpClient.execute(closeableHttpClient.java:83)在org.apache.jmeter.protocol.httpp.sampler.httphc4impl.executeRequest(httphc4impl.java:850)在c4impl.sample(httphc4impl.java:561)在org.apache.jmeter.protocol.httpsamplerProxy.sample(httpsamplerProxy.java:67)在org.apache.jmeter.protocol.http.sampler.httpsamplerBase.sample(httpsamplerBase.java:1282)

在Postman中这个工作非常好,但是在JMeter中给出了上面的错误,有人能帮忙吗?还有,我在延迟8秒后得到响应

共有1个答案

禄豪
2023-03-14

从stacktrace中可以看出JMeter未能解析HTTP响应头,如果没有看到响应细节,就很难说出哪里出了问题,您可以增加JMeter日志的详细程度,查看日志,很可能会看到根本原因,将下一行添加到log4j2.xml文件(位于JMeter安装的“bin”文件夹下)

<Logger name="org.apache.http" level="debug" />

需要JMeter restart来接收更改。下次启动请求时,您应该在jmeter.log文件中看到关于请求和响应的完整细节。

很可能是您正在测试的应用程序中的错误,因为它返回格式错误的头。

您可以尝试通过更改HTTP请求采样器的“实现”来解决这个问题,因为它无法java

如果您有一个以上的HTTP请求采样器,如果您使用HTTP请求默认值,则可以在一个地方更改实现

但是请记住,即使它能起作用,它也是一种变通方法,解决方案应该是理解哪个头不能被解析,并在应用程序端修复它。

 类似资料:
  • 我有一个python代码,用来创建一个json文件,作为post请求中的数据。 变量如下所示: 当我打印上述变量时,我得到以下输出: 当我在我的邮递员请求上使用以下输出时,它会像我期望的那样工作。但是当我使用相同的变量发送带有以下函数的超文本传输协议请求时,我得到了一个错误。 为什么我的输出在postman上工作,而不是在python本身?

  • 我正在尝试调用Workday招聘网络服务的Put_Background_Check操作。我已经在SoapUI中打开了WSDL文件,并成功地发送了以下XML。。。 我得到以下回应。。。 问题是,当我试图在Postman(或cURL或Python请求)中用相同的标题重新创建相同的POST请求时,我会得到无效的用户名或密码错误。SoapUI在这里做什么特别的事情吗?本案的回应如下...

  • 我将GET请求发送到具有相同标头的相同endpoint,包括承载,但当我从Postman调用时得到200和正确的JSON,当我在我的(Vue)项目中使用Axios发送请求时,我得到302。 运行在localhost:8080(如果有用)上的本地项目的调用如下: 而在《邮递员》中,我所做的就是用相同的url创建一个GET请求,我在标题中添加的只是“承载者…” 我从axios得到的错误是: 响应状态是

  • 我有一个对soap Web服务的请求,该服务在SoapUi中运行良好。我想在python脚本中调用此Web服务。 我尝试了一些模块:zeep,泡沫,...但是我总是有一个SSL错误。 以下是信息: https://37.71XXXXXXACONYX?wsdl 基本认证:用户名密码 身份验证类型:抢占式 我在SoapUi中提供了xml。 有人有什么想法吗? 谢谢!! 我试过:

  • 所以我已经研究了好几个小时,尝试了不同的东西,研究了好几个小时都没有结果。调用是在提供user和pass之后获取JWT令牌。 当它到达服务器时,morgan看到有一个请求,但我得到的状态是400。这是我的路线 我很难理解护照是怎么回事。authenticate('localAuth')起作用,因此这是我的策略文件,以备需要 更新:我在检查fiddler上的请求时遇到了某种错误。 ~标题~:132

  • 错误:任务“:app:CompileFlutterBuildDebug”执行失败。 进程“command”d:\flutter\bin\flutter.bat“已完成,退出值为非零%1 > 尝试:使用--stacktrace选项运行以获取堆栈跟踪。使用--info或--debug选项运行以获取更多日志输出。使用--scan运行以获得完整的见解。