【问题标题】:"The target server failed to respond" with default Jmeter's implementation of HTTPSample使用默认 Jmeter 的 HTTPSample 实现“目标服务器无法响应”
【发布时间】:2018-08-28 14:25:20
【问题描述】:

我有以下情况:
有一些Jmeter测试。我从不同的位置运行它。对于某些请求,我收到以下错误。

org.apache.http.NoHttpResponseException', '非 HTTP 响应消息: 目标服务器响应失败'

错误不是永久性的,它会不时发生。 奇怪的是,在某些位置发生了此错误,而在某些位置没有发生。

所有位置的 Jmeter 配置 (jmeter.properties) 都是相同的,但是提到的错误仅发生在其中一些位置。

我已经搜索了有关该错误的信息,并找到了有关 HttpClient4 问题的帖子(这是 HttpSampler 实现的默认设置)。 当我将实现更改为“Java”时 - 问题消失了。

但是我不明白为什么测试在一个位置有效而在另一个位置失败。有人对此有任何想法吗?我唯一的想法是某种防火墙,它对某些特定地址有一些连接限制。

附言使用浏览器从所有位置访问的所有失败的 URL(如果有)。

【问题讨论】:

    标签: jmeter httpclient


    【解决方案1】:

    阅读:

    它解释了 HTTP 客户端出现问题的原因。

    默认情况下,浏览器会进行陈旧检查和重试,这可以解释为什么您不在浏览器中重现。

    【讨论】:

      【解决方案2】:

      我在尝试从 WSO2 获取令牌时遇到了同样的问题

      org.apache.http.NoHttpResponseException: The target server failed to respond
          at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:95)
          at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:61)
          at org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:254)
          at org.apache.http.impl.AbstractHttpClientConnection.receiveResponseHeader(AbstractHttpClientConnection.java:289)
          at org.apache.http.impl.conn.DefaultClientConnection.receiveResponseHeader(DefaultClientConnection.java:252)
          at org.apache.http.impl.conn.ManagedClientConnectionImpl.receiveResponseHeader(ManagedClientConnectionImpl.java:191)
          at org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:300)
          at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:127)
          at org.apache.http.impl.client.DefaultRequestDirector.tryExecute(DefaultRequestDirector.java:715)
          at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:520)
          at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:906)
          at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:805)
          at org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl.executeRequest(HTTPHC4Impl.java:481)
          at org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl.sample(HTTPHC4Impl.java:298)
          at org.apache.jmeter.protocol.http.sampler.HTTPSamplerProxy.sample(HTTPSamplerProxy.java:74)
          at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1105)
          at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1094)
          at org.apache.jmeter.threads.JMeterThread.process_sampler(JMeterThread.java:429)
          at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:257)
          at java.lang.Thread.run(Unknown Source)
      

      将协议更改为 https 对我有用。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-10-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多