https 忽略证书
来源:互联网 发布:linux c一站式编程 编辑:程序博客网 时间:2024/05/21 06:34
import java.io.BufferedInputStream;import java.io.BufferedReader;import java.io.FileOutputStream;import java.io.InputStream;import java.io.InputStreamReader;import java.net.URL;import java.security.cert.CertificateException;import java.security.cert.X509Certificate;import java.util.HashMap;import java.util.Map;import javax.net.ssl.HostnameVerifier;import javax.net.ssl.HttpsURLConnection;import javax.net.ssl.SSLContext;import javax.net.ssl.SSLSession;import javax.net.ssl.TrustManager;import javax.net.ssl.X509TrustManager;public class HttpsGetData {private static class TrustAnyTrustManager implements X509TrustManager {public void checkClientTrusted(X509Certificate[] chain, String authType)throws CertificateException {}public void checkServerTrusted(X509Certificate[] chain, String authType)throws CertificateException {}public X509Certificate[] getAcceptedIssuers() {return new X509Certificate[] {};}}private static class TrustAnyHostnameVerifier implements HostnameVerifier {public boolean verify(String hostname, SSLSession session) {return true;}}String _url = "";Map<String, String> _params;public HttpsGetData(String url, Map<String, String> keyValueParams) {this._url = url;this._params = keyValueParams;}public String Do() throws Exception {String result = "";BufferedReader in = null;try {String urlStr = this._url + "?" + getParamStr();System.out.println("GET请求的URL为:" + urlStr);SSLContext sc = SSLContext.getInstance("SSL");sc.init(null, new TrustManager[] { new TrustAnyTrustManager() },new java.security.SecureRandom());URL realUrl = new URL(urlStr);// 打开和URL之间的连接HttpsURLConnection connection = (HttpsURLConnection) realUrl.openConnection();// 设置https相关属性connection.setSSLSocketFactory(sc.getSocketFactory());connection.setHostnameVerifier(new TrustAnyHostnameVerifier());connection.setDoOutput(true);// 设置通用的请求属性connection.setRequestProperty("accept", "*/*");connection.setRequestProperty("connection", "Keep-Alive");connection.setRequestProperty("user-agent","Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");// 建立实际的连接connection.connect();int responseCode = connection.getResponseCode();System.out.println(responseCode);// 定义 BufferedReader输入流来读取URL的响应if (responseCode != 200) {InputStream errorStream = connection.getErrorStream();in = new BufferedReader(new InputStreamReader(errorStream,"UTF-8"));String line;while ((line = in.readLine()) != null) {result += line;}System.out.println("获取的结果为:" + result);} else {FileOutputStream fos = null;BufferedInputStream bis = null;byte[] buf = new byte[10240];int size = 0;InputStream inputStream = connection.getInputStream();bis = new BufferedInputStream(inputStream);// 建立文件fos = new FileOutputStream("D:\\nnnnnnn.jpg");// 保存文件while ((size = bis.read(buf)) != -1)fos.write(buf, 0, size);inputStream.close();fos.flush();fos.close();bis.close();}} catch (Exception e) {System.out.println("发送GET请求出现异常!" + e);// e.printStackTrace();throw e;}// 使用finally块来关闭输入流finally {try {if (in != null) {in.close();}} catch (Exception e2) {// e2.printStackTrace();throw e2;}}return result;}private String getParamStr() {String paramStr = "";// 获取所有响应头字段Map<String, String> params = this._params;// 获取参数列表组成参数字符串for (String key : params.keySet()) {paramStr += key + "=" + params.get(key) + "&";}// 去除最后一个"&"paramStr = paramStr.substring(0, paramStr.length() - 1);return paramStr;}public static void main(String[] args) {Map<String, String> keyValueParams = new HashMap<String, String>();keyValueParams.put("access_token","afeab0c1-1ac9-4bfd-9a23-7cad8737c460");keyValueParams.put("file_id", "7122797");HttpsGetData httpsGetData = new HttpsGetData("https://www.cunnar.com/opencloud/api/account/file/download.json",keyValueParams);try {httpsGetData.Do();} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}}
0 0
- https 忽略证书
- httpclient https忽略证书
- android https HttpsURLConnection 忽略证书
- java 访问https忽略证书
- HttpPost忽略证书请求https
- okhttp3.0忽略https证书
- 【Android Trick 2】HTTPS请求忽略证书
- iOS https请求 忽略证书验证
- HttpClient忽略证书访问HTTPS接口
- httpclient https忽略证书直接请求
- HttpClient忽略证书访问HTTPS接口
- Https请求忽略证书验证最新实现
- httpclient忽略证书验证允许https请求
- okhttp使用https忽略证书验证
- AFNetworking 3.0 https请求忽略证书验证
- HttpClient忽略证书访问HTTPS接口()
- HttpClient忽略证书访问HTTPS接口
- okhttp使用https忽略证书验证
- 2 统计用户输入(4分)
- 分析iOS Crash文件:符号化iOS Crash文件的3种方法
- JSch - Java实现的SFTP(文件上传详解篇)
- @Autowired和@Resource的区别是什么?
- 三天打渔两天晒网(4分)(待改,输入1993-2-29或是月份天数大于实际天数如1999年2月30日时无法判定输入错误)
- https 忽略证书
- Android 新一代编译 toolchain Jack & Jill 简介
- 我csdn的积分怎么成0了?
- spring 数据库读写分离
- Uniscribe 内容详解
- 名称解析规则
- Yii2.0 探究五:基于Yii2.0框架的Restful Api的对接以及跨域解决
- Android Studio检测没有用到的资源
- 【bzoj4129】Haruna’s Breakfast 树上莫队+分块