社区
Java
帖子详情
curl和浏览器直接访问都没问题,但是用httpclient和HttpsURLConnection就会报错
binljb00
2017-11-30 10:50:18
...全文
1720
1
打赏
收藏
curl和浏览器直接访问都没问题,但是用httpclient和HttpsURLConnection就会报错
[图片]
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
binljb00
2017-11-30
打赏
举报
回复
public String doGet(String url,String charset){ if(null == charset){ charset = "utf-8"; } HttpClient httpClient = null; HttpGet httpGet= null; String result = null; try { httpClient = new SSLClient(); httpGet = new HttpGet(url); HttpResponse response = httpClient.execute(httpGet); if(response != null){ HttpEntity resEntity = response.getEntity(); if(resEntity != null){ result = EntityUtils.toString(resEntity,charset); } } } catch (Exception e) { e.printStackTrace(); } return result; } public class SSLClient extends DefaultHttpClient{ public SSLClient() throws Exception{ super(); SSLContext ctx = SSLContext.getInstance("TLS"); X509TrustManager tm = new X509TrustManager() { @Override public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException { } @Override public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException { } @Override public X509Certificate[] getAcceptedIssuers() { return null; } }; ctx.init(null, new TrustManager[]{tm}, null); SSLSocketFactory ssf = new SSLSocketFactory(ctx,new X509HostnameVerifier(){ @Override public boolean verify(String s, SSLSession sslSession) { return true; } @Override public void verify(String host, SSLSocket ssl) throws IOException { } @Override public void verify(String host, X509Certificate cert) throws SSLException { } @Override public void verify(String host, String[] cns, String[] subjectAlts) throws SSLException { } }); ClientConnectionManager ccm = this.getConnectionManager(); SchemeRegistry sr = ccm.getSchemeRegistry(); sr.register(new Scheme("https", 443, ssf)); } }
HttpClient
(apache) 与 java.net.URL ---处理http请求
HttpClient
(apache) 与java.net.URL 处理http请求 ① :org.apache.http.client.
HttpClient
; Http协议的重要性相信不用我多说了,
HttpClient
相比传统JDK自带的
URLConnection
,增加了易用性和灵活性(具体区别,日后我们再讨论),它不仅是客户端发送Http请求变得容易,而且也方便了开发人员测试接口(基于H
httpclient
自动执行http的302重定向
今天debug过程中发现,
httpclient
会
自动执行302的重定向,但是这个的前提是第一个请求是get发出的。我测试发现用post的后的302是系统不
会
自动redirect的。。不知道到底正确不,这个只是我的测试结果,还
没
来得及分析
https
Https
URLConnection
请求的单向认证
2019独角兽企业重金招聘Python工程师标准>>> ...
java
访问
https
遇到的
问题
用java
访问
https
类的url是,该类url需要验证一般
会
报 验证之类的错误导致无法
访问
。 有两种解决方法。 (1)用
Https
URLConnection
URL url = new URL(urlStr);
Https
URLConnection
conn = (
Https
URLConnection
) url.openConnection(); Host
调取
Https
接口遇到的坑及解决方式
但在实际调取的时候发现,接口不通,负责人告诉我,这就是简单的
https
接口,你们调就行,直到把缺少证书的
报错
发给他,才给我一个server.pem,一个server.key,使用这两个文件调取,还是出现
问题
;现在有一个平台提供的接口,是
Https
形式的,但是呢,提供的文档上写的是Http,他们还好心付上了代码样例,你以为这样就可以CV了吗,想简单了,年轻人。进行校验的方式有很多种,在上述案例踩坑的过程中,在网上找了很多使用证书验证的方式,也写了很多测试的方法尝试着去调取他们的接口,但是都是
报错
了;
Java
51,411
社区成员
86,028
社区内容
发帖
与我相关
我的任务
Java
Java相关技术讨论
复制链接
扫一扫
分享
社区描述
Java相关技术讨论
java
spring boot
spring cloud
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章