<Java常见问题>之Target host is not specified

本文介绍了出现Target host is not specified问题的解决方式

一.bug提示如下

Caused by: org.apache.http.client.ClientProtocolException
    at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:187)
    at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83)
    at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:108)
    at com.api.client.handler.NdcHandlerImpl2.getResponseAsString(NdcHandlerImpl2.java:336)
    at com.api.client.handler.NdcHandlerImpl2.airShopping(NdcHandlerImpl2.java:73)
    ... 8 more
Caused by: org.apache.http.ProtocolException: Target host is not specified
    at org.apache.http.impl.conn.DefaultRoutePlanner.determineRoute(DefaultRoutePlanner.java:71)
    at org.apache.http.impl.client.InternalHttpClient.determineRoute(InternalHttpClient.java:125)
    at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184)
    ... 12 more

二.分析

Target host is not specified指目标主机未指定,因项目中使用到HttpClient,故与HttpClient的使用有关.

三.解决:

通过debug,问题定位在以下代码中:

HttpPost request = new HttpPost( url );
HttpResponse response = httpClient.execute(request);

查看url值为null,那问题就锁定在请求时url的值上,打开数据库,发现引用的endpoint字段值全为null,所以,插入数据库的值即可.

数据库字段图

四.思考

以上仅仅是一个简单的bug,出问题的原因主要在新旧数据库替换时,已添加新的表结构,却遗漏了插入数据的代码.所以,开发中还是要多些谨慎细心.

CSDN

Java常见问题之Target host is not specified

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,234评论 19 139
  • 从三月份找实习到现在,面了一些公司,挂了不少,但最终还是拿到小米、百度、阿里、京东、新浪、CVTE、乐视家的研发岗...
    时芥蓝阅读 42,416评论 11 349
  • Spring Web MVC Spring Web MVC 是包含在 Spring 框架中的 Web 框架,建立于...
    Hsinwong阅读 22,652评论 1 92
  • 今天突然看完了2年前宝贝丫头写的所有简书心情,拼加上我的部分,终于完整了!原来一切都是误会,晚上老妈还是发现我情绪...
    乞丐小哥阅读 255评论 0 0
  • 提笔踌躇,写不出一个完整的题纲 不管列出哪一项都像安排好的过往 如果我可以打破应有的禁锢和规则 请别阻止我也别支持...
    书晴sq阅读 460评论 28 21