"目标服务器无法响应"使用默认的Jmeter实现HTTPSample

时间:2014-07-16 13:59:41

标签: jmeter httpclient

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

  

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

错误不是永久性的,它会不时发生。 这里奇怪的是,对于某些位置,这个错误发生了,有些则没有。

Jmeter配置(jmeter.properties)对于所有位置都是相同的,但是只提到了其中一些位置的错误。

我搜索过该错误并找到一篇关于HttpClient4问题的帖子(这是HttpSampler实现的默认设置)。 当我将实现改为'Java'时 - 问题就消失了。

但是我无法理解为什么测试从一个位置起作用而另一个位置失败。有人对此有什么想法吗?我唯一的想法是某种防火墙,它具有某些特定地址的连接限制。

P.S。所有URL都无法通过浏览器从所有位置访问(如果有)。

2 个答案:

答案 0 :(得分:1)

阅读本文:

它解释了为什么HTTP Client会出现问题。

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

答案 1 :(得分:0)

enter image description here

我在尝试从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对我有用。