`

访问https

 
阅读更多
package cn.com.admaster.migsender.utils;

import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URL;

import javax.net.ssl.HostnameVerifier;
import javax.net.ssl.HttpsURLConnection;
import javax.net.ssl.SSLSession;

/**
 * Created by qeekey on 17/7/3.
 */
public class Test {
    public static HostnameVerifier hv = new HostnameVerifier() {
        public boolean verify(String urlHostName, SSLSession session) {
            System.out.println("Warning: URL Host: " + urlHostName + " vs. "
+ session.getPeerHost());
            return true;
}
    };

    private static void trustAllHttpsCertificates() throws Exception {
        javax.net.ssl.TrustManager[] trustAllCerts = new javax.net.ssl.TrustManager[1];
javax.net.ssl.TrustManager tm = new miTM();
trustAllCerts[0] = tm;
javax.net.ssl.SSLContext sc = javax.net.ssl.SSLContext
                .getInstance("SSL");
sc.init(null, trustAllCerts, null);
javax.net.ssl.HttpsURLConnection.setDefaultSSLSocketFactory(sc
                .getSocketFactory());
}

    static class miTM implements javax.net.ssl.TrustManager,
javax.net.ssl.X509TrustManager {
        public java.security.cert.X509Certificate[] getAcceptedIssuers() {
            return null;
}

        public boolean isServerTrusted(
                java.security.cert.X509Certificate[] certs) {
            return true;
}

        public boolean isClientTrusted(
                java.security.cert.X509Certificate[] certs) {
            return true;
}

        public void checkServerTrusted(
                java.security.cert.X509Certificate[] certs, String authType)
                throws java.security.cert.CertificateException {
            return;
}

        public void checkClientTrusted(
                java.security.cert.X509Certificate[] certs, String authType)
                throws java.security.cert.CertificateException {
            return;
}
    }
    public static void main(String[] args) throws Exception {
        URL reqURL = new URL(
                "https://www.mydata.com/api_v1/medias.json"); // 创建URL对象

Test t = new Test();

t.trustAllHttpsCertificates();
HttpsURLConnection.setDefaultHostnameVerifier(hv);

HttpsURLConnection httpsConn = (HttpsURLConnection) reqURL
                .openConnection();

/*
       * 下面这段代码实现向Web页面发送数据,实现与网页的交互访问 httpsConn.setDoOutput(true);
       * OutputStreamWriter out = new
       * OutputStreamWriter(huc.getOutputStream(), "8859_1"); out.write( "……"
       * ); out.flush(); out.close();
       */

        // 取得该连接的输入流,以读取响应内容
InputStreamReader insr = new InputStreamReader(
                httpsConn.getInputStream());

// 读取服务器的响应内容并显示
int respInt = insr.read();
        while (respInt != -1) {
            System.out.print((char) respInt);
respInt = insr.read();
}

    }
}
分享到:
评论

相关推荐

    小程序访问https显示网络错误,微信打开https空白、浏览器访问正常解决方案.docx

    小程序访问HTTPS显示网络错误解决方案 小程序访问HTTPS时,可能会出现网络错误、微信打开HTTPS空白、浏览器访问正常的情况。这种情况下,需要对HTTPS证书进行配置和验证,以确保小程序的正常访问。 一、问题描述 ...

    java实现读取证书访问https接口

    在Java编程中,访问HTTPS(安全超文本传输协议)接口通常涉及到处理数字证书,这是为了确保数据传输的安全性。HTTPS通过使用SSL/TLS协议来加密通信,而证书是该协议的一部分,用于验证服务器的身份。本篇文章将深入...

    解决linux下访问https站点问题:证书无效.docx

    解决 Linux 下访问 HTTPS 站点问题:证书无效 在 Linux 系统中访问 HTTPS 站点时,可能会遇到证书无效的问题,导致无法访问网站。这是因为 Linux 系统中没有信任该网站的证书颁发机构(Certificate Authority,CA)...

    Android使用HttpClient和HttpsUrlConnection两种方式访问https网站

    本文将详细介绍如何使用`HttpClient`和`HttpsURLConnection`两种方式来访问HTTPS网站,包括验证证书和不验证证书的实现方法。 ### 1. Android中的HttpClient `HttpClient`是Apache提供的一种HTTP客户端库,它支持...

    C++ socket访问HTTP,OpenSSL访问HTTPS

    本代码使用MFC方式实现了如下功能: ...2> 集成OpenSSL POST访问HTTPS站点。可成功登陆小米官网。 文件包内含有完整的,编译好的OpenSSL开发需要的头文件以及库文件等,可以方便的使用在您的项目中。

    java访问https网址下载文件

    在Java编程中,访问HTTPS网址并下载文件是一个常见的任务,特别是在网络应用开发中。HTTPS(HyperText Transfer Protocol Secure)是一种安全通信协议,用于确保数据在客户端和服务器之间的传输过程是加密的,保护了...

    用java访问https网络,无需证书

    使用java写的访问https网络协议的网址,绕过了证书的验证

    java访问https网址下载文件(含证书)

    在Java编程中,访问HTTPS网址并下载文件是一个常见的任务,特别是在需要安全传输敏感数据或确保数据完整性时。这里我们将深入探讨如何使用Java 1.7版本处理这一过程,包括处理SSL证书。 首先,理解HTTPS(超文本...

    Windows 2003无法访问HTTPS网站解决方案(补丁)

    Windows 2003无法访问HTTPS网站解决方案(补丁) 解决服务器不支持证书问题!

    delphi 2010 indy TIdHTTP 访问 https url post get

    解决 https post 会报scoket ...上次开发访问https出错了,post 一直出错在网络上找的很,下载了好多个都没有解决问题,后面才找到问题,跟大家分享一下。包含delphi 源码和libeay32.dll ssleay32.dll 两个ssl文件.

    delphi访问https参数验证 HMAC_SHA256 控件包

    delphi访问https参数验证 HMAC_SHA256 控件包Chilkat Delphi DLL API v9.5.0.58 chilkat 库的delphi 动态库版本Chilkat_Keygen_v2.0_By_DFoX.exe。 params: symbol=LTCBTC&side=BUY&type=LIMIT&timeInForce=GTC&...

    用CWinInet访问HTTP/HTTPS资源

    1. **证书验证**:访问HTTPS网站时,需要处理服务器的数字证书,确认其合法性。如果忽视证书验证,可能导致安全问题。 2. **SSL/TLS握手**:HTTPS协议涉及到SSL/TLS的握手过程,需要正确配置SSL版本和加密套件。 3...

    windows下Curl+Openssl访问https实例

    在Windows环境下,使用Curl和OpenSSL访问HTTPS网站是一个常见的任务,特别是在开发涉及网络通信的C++应用程序时。本文将详细介绍如何在Windows下利用Curl和OpenSSL库实现HTTPS访问,并提供一个实例来帮助理解这一...

    android HttpClient访问Https

    android HttpClient访问某些Https时,出现了问题,无法访问,好像是要安全验证。此Demo解决了此问题,HttpClient能够Https和Http类型的URL了。 在eclipse下打开工程若有乱码,请把eclipse的字符编码改成UTF-8。

Global site tag (gtag.js) - Google Analytics