不显示删除回复显示所有回复显示星级回复显示得分回复 关于httpclient带证书访问https地址,求高手急救....

jales123 jales123 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
程序访问https协议的接口地址,我采用第一种方式:
从浏览器保存下来对应https地址的的证书,然后向$JAVA_HOME/jre/lib/security/cacerts文件中导入,然后使用httpclient程序(像访问http一样的程序)去访问https,一切正常。
然而我采用第二种方式:
从浏览器保存下来对应https地址的的证书, 然后使用
keytool -import -noprompt -keystore msg.keystore -storepass 123456 -alias example -file e:/test.cer
生成一个 msg.keystore, 然后用如下程序去 访问https地址:
String requestp = "abcdefg";

DefaultHttpClient httpclient = new DefaultHttpClient();

KeyStore trustStore = KeyStore.getInstance(KeyStore.getDefaultType());
FileInputStream instream = new FileInputStream(new File("c:\\msg.keystore"));
try {
trustStore.load(instream, "123456".toCharArray());
} finally {
instream.close();
}
SSLSocketFactory socketFactory = new SSLSocketFactory(trustStore);
Scheme sch = new Scheme("https", socketFactory, 443);
httpclient.getConnectionManager().getSchemeRegistry().register(sch);

HttpPost hp = new HttpPost("https://11.12.13.14:8443/platform");
hp.setHeader("Content-Type", "application/xml");
hp.setHeader("Accept", "application/xml");
HttpEntity entity = new ByteArrayEntity(requestp.getBytes());
hp.setEntity(entity);
ResponseHandler<String> responseHandler = new BasicResponseHandler();
String response = httpclient.execute(hp,responseHandler);

System.out.println("----------------------------------------");
System.out.println(response);
httpclient.getConnectionManager().shutdown();

最后却报出了如下异常:
Exception in thread "main" javax.net.ssl.SSLException: hostname in certificate didn't match: <11.12.13.14> != <example>
at org.apache.http.conn.ssl.AbstractVerifier.verify(AbstractVerifier.java:220)
at org.apache.http.conn.ssl.BrowserCompatHostnameVerifier.verify(BrowserCompatHostnameVerifier.java:54)
at org.apache.http.conn.ssl.AbstractVerifier.verify(AbstractVerifier.java:149)
at org.apache.http.conn.ssl.AbstractVerifier.verify(AbstractVerifier.java:130)
at org.apache.http.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:339)
at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:123)
at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:147)
at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:101)
at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:381)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:641)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:730)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:708)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:699)
at interfaces.Test.main(Test.java:52)
小弟实在费解,请高人赐教 ,不胜感激!!!
...全文

相关推荐

使用httpclient实现HTTPS访问的Java示例程序

httpclienthttpclient是一个广泛使用的Java库,它提供了灵活的功能,用于发送HTTP请求并处理HTTP响应。它被设计为线程安全的,并且是构建在Java标准库的基础上,提供了更高级的特性和更简洁的API。作为应用开发者,可以利用httpclient执行各种HTTP方法,例如GET, POST, PUT, DELETE等,并可以管理HTTP连接的各种参数,如超时设置、重定向策略、自动处理cookie等。除此之外,httpclient。

鱼总美签

29Linux基础命令详解——用户管理.docx

29Linux基础命令详解——用户管理

云计算练习生

科技服务机构如何通过数据分析增强服务竞争力?.docx

科易网基于40亿+科创知识图谱数据库,深度探索AI技术在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,研究科技创新领域的AI+数智化解决方案,推动科技创新与产业创新智能化发展。

BIZKEEN

vue+springboot基于 Java 的南昌实利广告公司的员工管理系统的设计与实现_oj680rl3毕业设计源码数据库.zip

vue+springboot基于 Java 的南昌实利广告公司的员工管理系统的设计与实现_oj680rl3毕业设计源码数据库.zip

源码论文专家

车辆缺陷分割数据集4000张json格式.zip

数据集格式:labelme格式(不包含mask文件,仅仅包含jpg图片和对应的json文件) 图片数量(jpg文件个数):4000 标注数量(json文件个数):4000 标注类别数:1 标注类别名称:["defect"] 每个类别标注的框数: defect count = 8740 总框数:8740 使用标注工具:labelme=5.5.0 所在仓库:firc-dataset 图片分辨率:640x640 标注规则:对类别进行画多边形框polygon 重要说明:可以将数据集用labelme打开编辑,json数据集需自己转成mask或者yolo格式或者coco格式作语义分割或者实例分割 特别声明:本数据集不对训练的模型或者权重文件精度作任何保证

不会仰游的河马君
评论
收藏 已收藏
分享
返回顶部
jales123
Web 开发 81,108 成员 341,721 内容