HttpClient接口测试遇到的问题及解决方案

发表于:2015-9-02 10:24

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:葛庆阳    来源:51Testing软件测试网采编

  一、HttpClient介绍
  目前HttpClient支持HTTP/1.1这个版本定义的所有Http方法:GET,HEAD,POST,PUT,DELETE,TRACE和OPTIONS。HttpClient的官方解释如下:Http协议应该是互联网中最重要的协议。持续增长的web服务、可联网的家用电器等都在继承并拓展着Http协议,向着浏览器之外的方向发展。
  虽然jdk中的java.net包中提供了一些基本的方法,通过http协议来访问网络资源,但是大多数场景下,它都不够灵活和强大。HttpClient致力于填补这个空白,它可以提供有效的、最新的、功能丰富的包来实现http客户端。
  为了拓展,HttpClient即支持基本的http协议,还支持http-aware客户端程序,如web浏览器,网络服务客户端,或者用于平、拓展http协议的分布式系统。
  HttpClient的定义:
  是一个基于HttpCore的客户端Http传输类库
  基于传统的(阻塞)IO
  内容无关
  HttpClient不能做的事情:
  HttpClient不是浏览器,它是一个客户端http协议传输类库。HttpClient被用来发送和接受Http消息。HttpClient不会处理http消息的内容,不会进行javascript解析,不会关心content type,如果没有明确设置,httpclient也不会对请求进行格式化、重定向url,或者其他任何和http消息传输相关的功能。
  在项目中引入HttpClient,以Maven为例:
  <dependency>
  <groupId>org.apache.httpcomponents</groupId>
  <artifactId>httpclient</artifactId>
  <version>4.5</version>
  </dependency>
  二、遇到的问题及解决方案
  1、  缺少证书
  sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
  问题的根本是:
  缺少安全证书时出现的异常。
  解决问题方法:
  从网站https://confluence.atlassian.com/download/attachments/180292346/InstallCert.java 下载InstallCert.java程序
  编译InstallCert.java,然后执行:java InstallCert hostname,比如:java InstallCert www.163.com
  根据提示操作,会在当前的目录下产生一个名为“ssecacerts”的证书。
  将证书拷贝到$JAVA_HOME/jre/lib/security目录下,问题便得到解决。
21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号