import java.io.*;
import java.net.*;
import java.security.*;
import java.security.cert.*;
import java.util.*;
import javax.net.ssl.*;

public class httpssl
{

String url="";
     myX509TrustManager xtm = new myX509TrustManager();
     myHostnameVerifier hnv = new myHostnameVerifier();

public httpssl(String HttpsUrl) {
     this.url = HttpsUrl;
        SSLContext sslContext = null;
       try {
           sslContext = SSLContext.getInstance("TLS");
         X509TrustManager[] xtmArray = new X509TrustManager[] { xtm };
         sslContext.init( null,
                           xtmArray,
                           new java.security.SecureRandom() );
       } catch( GeneralSecurityException gse ) {
       }
       if( sslContext != null ) {
          HttpsURLConnection.setDefaultSSLSocketFactory(
                      sslContext.getSocketFactory() );
       }
       HttpsURLConnection.setDefaultHostnameVerifier( hnv );
     }

public String getResult() {
     String res = "";
       try {

URLConnection urlCon = (new URL(url)).openConnection();

BufferedReader in = new BufferedReader(new InputStreamReader(urlCon.getInputStream()));
             String line;
             while ((line = in.readLine()) != null)
             {
                 //System.out.println(line);
                 res += line;
             }

//   增加自己的代码
         } catch( MalformedURLException mue ) {
             mue.printStackTrace();
         } catch( IOException ioe ) {
             ioe.printStackTrace();
         }
         catch (Exception e) {
             e.printStackTrace();
         }
       
         return res;

}
}

class myX509TrustManager implements X509TrustManager{
   public myX509TrustManager(){}
   public void checkClientTrusted(X509Certificate[] chain,   String authType) {}
      public void checkServerTrusted(X509Certificate[] chain,String authType) {
       //System.out.println("cert: " + chain[0].toString() + ", authType: " + authType);
      }
      public X509Certificate[] getAcceptedIssuers() {
       return null;
      }
}

class myHostnameVerifier implements HostnameVerifier{
public myHostnameVerifier(){}
   public boolean verify(String hostname,SSLSession session) {
    //System.out.println("hostname: " + hostname);
    return true;
   }
}

java实现https ssl请求url的更多相关文章

  1. java 执行https的请求

    普通的get和post请求只能执行http的请求,遇到的了https的就歇菜了,需要SSL安全证书处理. 该方法只能用jdk1.7和1.8进行处理,jdk1.6会报Could not generate ...

  2. Http,Https (SSL)的Url绝对路径,相对路径解决方案Security Switch 4.2 中文帮助文档 分类: ASP.NET 2014-10-28 14:09 177人阅读 评论(1) 收藏

    下载地址1:https://securityswitch.googlecode.com/files/SecuritySwitch%20v4.2.0.0%20-%20Binary.zip 下载地址2:h ...

  3. Http,Https (SSL)的Url绝对路径,相对路径解决方案Security Switch 4.2 英文帮助文档 分类: ASP.NET 2014-10-28 10:50 147人阅读 评论(1) 收藏

    Security Switch 4.2 =================== Security Switch enables various ASP.NET applications to auto ...

  4. Java 通过get post 请求url

    1️⃣.已获取小程序的access_token 为例,通过Get请求url import com.alibaba.fastjson.JSONObject; String wechatUrl = &qu ...

  5. https创建请求UrL报错: 未能为 SSL/TLS 安全通道建立信任关系

    1.项目中异常报错如下: 2.百度结果:原来是 网站没有使用SSL证书或者是SSl证书失效了的缘故. 3.具体解决方案如下: )导入命名空间 using System.Net.Security; us ...

  6. 解决java使用https协议请求出现证书不信任问题(PKIX path building failed)

    解决https请求时出现pkix path building fail错误 方法 将submail.cer 安全证书导入到java中的cacerts证书库 (sumail是我从https://api. ...

  7. https ssl 请求过程详解

    http  协议:http 协议是一种无状态,短链接的 通信协议,http 协议建立在 tcp 协议之上. http 协议 分成 三个 部分 请求行,请求头,请求体 请求行: 就是访问的地址 ( 包含 ...

  8. Http,Https(SSL)的Url绝对路径,相对路径解决方案Security Switch 4.2的配置和使用 分类: ASP.NET 2014-11-05 12:51 97人阅读 评论(0) 收藏

    下载地址1:https://securityswitch.googlecode.com/files/SecuritySwitch%20v4.2.0.0%20-%20Binary.zip 下载地址2:h ...

  9. java 实现https请求

    java 实现https请求 JSSE是一个SSL和TLS的纯Java实现,通过JSSE可以很容易地编程实现对HTTPS站点的访问.但是,如果该站点的证书未经权威机构的验证,JSSE将拒绝信任该证书从 ...

随机推荐

  1. Sum Root to Leaf Numbers leetcode java

    题目: Given a binary tree containing digits from 0-9 only, each root-to-leaf path could represent a nu ...

  2. C#开发winform程序的界面框架

    首先创建一个“Windows应用程序”,默认的“Form1”文件修改为MainForm的窗体,作为程序的主窗体.从控件箱拖3个控件过来:MenuStrip.ToolStrip.StatusStrip. ...

  3. JAVA中如何将一个json形式的字符串转为json对象或对象列表

    import java.util.*; import java.text.SimpleDateFormat; import org.json.JSONObject; import org.json.J ...

  4. Netflix推荐系统:从评分预测到消费者法则

    http://in.sdo.com/?p=11 原文链接:Netflix recommendations: beyond the 5 stars (Part 1), (Part 2) 原文作者:Xav ...

  5. uboot mmc read/write命令用法

    mmc read用来读取mmc内容到内存, mmc write用来写入内存内容到mmc中 具体用法, mmc read <device num> addr blk# cnt [partit ...

  6. wifidog 源码初分析(4)-转

    在上一篇<wifidog 源码处分析(3)>的流程结束后,接入设备的浏览器重定向至 路由器 上 wifidog 的 http 服务(端口 2060) /wifidog/auth 上(且携带 ...

  7. GPUImage简单滤镜使用(一)

    今天来学习一下一个简单滤镜使用的流程,通过调节亮度滤镜来了解.先将GPUImage库导入到项目中,引入头文件"GPUImage.h"   一.创建亮度滤镜对象    GPUImag ...

  8. mysql insert 主键 重复问题

    转自:http://blog.163.com/liuweiyoung@126/blog/static/173131045201222122732435/ mysql中insert into和repla ...

  9. Asp.Net下通过切换CSS换皮肤

    直接重写Render事件 protected override void Render(System.Web.UI.HtmlTextWriter writer) { StringWriter sw = ...

  10. #define barrier() __asm__ __volatile__("": : :"memory") 中的memory是gcc的东西

    gcc内嵌汇编简介 在内嵌汇编中,可以将C语言表达式指定为汇编指令的操作数,而且不用去管如何将C语言表达式的值读入哪个寄存器,以及如何将计算结果写回C 变量,你只要告诉程序中C语言表达式与汇编指令操作 ...