org.apache.http.client.ClientProtocolException: URI does not specify a valid host name

org.apache.http.client.ClientProtocolException: URI does not specify a valid host name: xxxx.com.cn:8080/xxxxx/Detail

e.printStackTrace():org.apache.http.client.ClientProtocolException: URI does not specify a valid host name: stltfvir-inter.yto56.com.cn:8089/stltffvirtualbillauto/searchDetail
    at org.apache.http.impl.client.CloseableHttpClient.determineTarget(CloseableHttpClient.java:94)
    at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:82)
    at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:107)
    at com.yto.monitor.web.util.HttpClientUtil.httpPostWithJson(HttpClientUtil.java:63)
    at com.yto.monitor.web.service.impl.financeServiceImpl.FinanceServiceImpl.searchDetail(FinanceServiceImpl.java:66)
    at com.yto.monitor.web.controller.FinanceController.searchDetail(FinanceController.java:27)
    at com.yto.monitor.web.controller.FinanceController$$FastClassBySpringCGLIB$$ffe65ed9.invoke(<generated>)
    at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)
    at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:749)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
    at org.springframework.aop.framework.adapter.MethodBeforeAdviceInterceptor.invoke(MethodBeforeAdviceInterceptor.java:56)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175)
    at org.springframework.aop.aspectj.AspectJAfterAdvice.invoke(AspectJAfterAdvice.java:47)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175)
    at org.springframework.aop.framework.adapter.MethodBeforeAdviceInterceptor.invoke(MethodBeforeAdviceInterceptor.java:56)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
    at org.springframework.aop.framework.adapter.AfterReturningAdviceInterceptor.invoke

解决方式

我这边需要调用公司其他部门的一个详情接口,拿到数据之后做组合展示,完成开发功能之后我在		  测试环境一切正常,然后开始准备生产发布,然后就发生了上述错误。刚开始我以为是生产上没有能访问调用接口地址权限,后面登录到服务器ping的通,也能进入telnet。后面我尝试了解了一下这个ClientProtocolException异常信息,了解到在我们通过域名作为httpPost的请求地址时,前面必须加上http://这个协议也就是我们必须将访问的地址设置成http://xxx.xxx.com/xxx/xxx/detail这种方式去访问生产环境的域名地址。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: org.apache.http.client.ClientProtocolException: null 是一个Java异常,通常在使用Apache HttpClient时出现。它表示在执行HTTP请求时发生了协议错误,但具体的错误原因未知。可能是由于服务器返回的响应不符合HTTP协议规范,或者由于客户端请求的格式不正确。要解决这个问题,可以尝试检查请求和响应的内容,确保它们符合HTTP协议规范。如果问题仍然存在,可以尝试使用其他HTTP客户端库或调整请求和响应的格式。 ### 回答2: org.apache.http.client.ClientProtocolException: null是一种常见的网络异常,它通常发生在使用HttpClient进行网络请求时。这个异常的产生是因为服务器没有正确响应请求而导致的。 在进行网络请求时,如果服务器没有响应请求或者响应不符合规范,就会导致这个异常的产生。这个异常会给我们一个null,因为在HttpClient内部调用getEntity方法时,服务器没有正常响应导致没有获取到正常数据。 这个异常可以通过以下几种方式来避免或者解决: 1. 检查网络连接是否正常。如果网络连接不正常,就会导致请求无法发送或者响应无法返回,进而导致这个异常的产生。 2. 使用正确的请求方式和参数。如果请求方式或者请求参数不正确,服务器就会无法正常响应,这时候也会导致这个异常的产生。 3. 检查服务器是否正常运行。如果服务器出现问题,就会无法正常响应请求,这时候也会导致这个异常的产生。 4. 使用try-catch语句进行异常处理。如果发生了这个异常,可以使用try-catch语句来捕获并进行处理,以避免程序崩溃。 综上所述,org.apache.http.client.ClientProtocolException: null是一种常见的网络异常,通常发生在使用HttpClient进行网络请求时。我们可以通过检查网络连接、使用正确的请求方式和参数、检查服务器是否正常运行以及使用try-catch语句来避免或者解决这个异常。 ### 回答3: org.apache.http.client.clientprotocolexception: null是一个Java异常,在使用Apache HttpClient时可能会抛出此异常。该异常表示一个协议错误,往往发生在客户端与服务器之间进行通信时。 通常情况下,这个异常出现的原因是: 1. 服务器返回的响应不是HTTP协议规范中所定义的格式,如响应头缺失或格式错误。 2. 服务器返回的响应数据过大,导致网络传输中断或超时。 3. SSL/TLS握手失败。 4. 网络连接被重置或关闭。 要解决这个异常,可以采取以下几个方法: 1. 检查服务器响应是否符合HTTP协议规范。 2. 增加网络传输的超时时间,避免传输中断。 3. 检查SSL/TLS证书是否合法,或是否存在中间人攻击等安全问题。 4. 判断网络连接是否正常,如网络故障、防火墙屏蔽等。 总的来说,org.apache.http.client.clientprotocolexception: null这个异常是在使用HttpClient发生协议错误时会出现的,解决方法也比较固定,主要是检查服务器响应和网络连接是否正常。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值