`

java 建立 https连接

 
阅读更多
public static String httpRequest(String requestUrl, String requestMethod, String outputStr) {  
        JSONObject jsonObject = null;  
        StringBuffer buffer = new StringBuffer();  
        try {  
            // 创建SSLContext对象,并使用我们指定的信任管理器初始化  
            TrustManager[] tm = { new MyX509TrustManager() };  
            SSLContext sslContext = SSLContext.getInstance("SSL", "SunJSSE");  
            sslContext.init(null, tm, new java.security.SecureRandom());  
            // 从上述SSLContext对象中得到SSLSocketFactory对象  
            SSLSocketFactory ssf = sslContext.getSocketFactory();  
  
            URL url = new URL(requestUrl);  
            HttpsURLConnection httpUrlConn = (HttpsURLConnection) url.openConnection();  
            httpUrlConn.setSSLSocketFactory(ssf);  
  
            httpUrlConn.setDoOutput(true);  
            httpUrlConn.setDoInput(true);  
            httpUrlConn.setUseCaches(false);  
            // 设置请求方式(GET/POST)  
            httpUrlConn.setRequestMethod(requestMethod);  
  
            if ("GET".equalsIgnoreCase(requestMethod))  
                httpUrlConn.connect();  
  
            // 当有数据需要提交时  
            if (null != outputStr) {  
                OutputStream outputStream = httpUrlConn.getOutputStream();  
                // 注意编码格式,防止中文乱码  
                outputStream.write(outputStr.getBytes("UTF-8"));  
                outputStream.close();  
            }  
  
            // 将返回的输入流转换成字符串  
            InputStream inputStream = httpUrlConn.getInputStream();  
            InputStreamReader inputStreamReader = new InputStreamReader(inputStream, "utf-8");  
            BufferedReader bufferedReader = new BufferedReader(inputStreamReader);  
  
            String str = null;  
            while ((str = bufferedReader.readLine()) != null) {  
                buffer.append(str);  
            }  
            bufferedReader.close();  
            inputStreamReader.close();  
            // 释放资源  
            inputStream.close();  
            inputStream = null;  
            httpUrlConn.disconnect();  
            System.out.println("返回的数据:"+buffer.toString());
       //     jsonObject = JSONObject.fromObject(buffer.toString());  
        } catch (ConnectException ce) {  
            log.error("Weixin server connection timed out.");  
        } catch (Exception e) {  
            log.error("https request error:{}", e);  
        }  
        return buffer.toString();  
    }
分享到:
评论
2 楼 love398146779 2016-07-19  
我当然不能全写上面了,这只是其中一部分https连接。
1 楼 yuenkin 2016-04-16  
大哥,这是双向认证吗?

相关推荐

    分享一个Java建立HTTP连接的例子.rar

    再分享一个Java建立HTTP连接的例子,读取网络上的内容,例子简单,打基础可参考。整体来说,核心的代码如下:  ContentConnection connection = (ContentConnection) Connector.open(url); //获取连接  TextBox tb...

    Java建立数据库连接并实现数据库查询.rar

    Java建立数据库连接并实现数据库查询,初学者通过本Java源代码,了解如何加载驱动器,获取连接,定义SQL查询语句,获取Statement对象,执行查询、遍历ResultSet、获取数据、在控制台输出数据,关闭连接等。

    Java实现Socket长连接和短连接

    - 建立连接:客户端使用Socket类的connect()方法连接到服务器端的特定端口。 - 数据传输:通过Socket对象的输入/输出流进行数据的发送和接收。 - 关闭连接:完成通信后,双方都会调用Socket的close()方法关闭连接。 ...

    java建立TCP长链接

    下面将详细介绍如何在Java中建立TCP长连接以及实现心跳机制。 首先,我们需要了解TCP的基本概念。TCP是一种面向连接的、可靠的传输层协议,它提供全双工通信,即数据可以在两个方向上同时传输。在TCP连接建立之前,...

    Java jdbc数据库连接池总结

    建立连接是一个费时的活动,每次都得花费 0.05s~1s 的时间,而且系统还要分配内存资源。这个时间对于一次或几次数据库操作,或许感觉不出系统有多大的开销。可是对于现在的 Web 应用,尤其是大型电子商务网站,同时...

    Java建立HTTP连接浏览网址打开网站.rar

    Java建立HTTP连接浏览网址打开网站,这个功能的最终效果类似于一个网页浏览器,通过建立HTTP连接,输入URL网址后,可打开网址,浏览网页内容,并且可查看该网页的源代码,本例可学习如何在Java代码中建立HTTP连接。...

    java socket连接池 实现

    Java Socket 连接池实现是提高网络应用性能和效率的关键技术之一。在高并发的网络环境中,频繁地创建和销毁Socket连接会导致大量的系统资源浪费,影响整体性能。为了解决这个问题,开发人员通常会使用连接池来管理和...

    java访问https网址下载文件

    2. **建立HTTPS连接**: 使用`HttpsURLConnection`创建连接,并设置必要的请求属性,如请求方法(GET或POST),超时时间等。下面是一个简单的示例: ```java URL url = new URL("https://example.com/file.txt")...

    Java多种多样的建立网络连接的方式

    #### 一、通过主机名和端口号建立连接 这是最常见的一种方式,通过提供一个主机名(或IP地址)以及一个端口号来建立Socket连接。例如: ```java public Socket(String host, int port) throws ...

    JAVA 建立与断开数据库的连接

    要与数据库建立连接,你需要以下几步: 1. **导入JDBC库**:在Java代码中,你需要导入必要的JDBC包,例如`java.sql.Connection`,`java.sql.DriverManager`,`java.sql.SQLException`等。如果你使用的是Maven或...

    java 调用https webservice实例及axis包

    注意,由于是HTTPS,所以在调用前可能需要建立SSL连接,处理身份验证等安全操作。 5. **处理异常**:在调用过程中,可能会遇到SSL相关的异常,如`CertificateException`, `KeyManagementException`, `...

    Java建立HttpConnection连接的例子.rar

    Java建立HttpConnection连接的例子,支持在手机端运行的的Java小程序,通过建立HttpConnection连接,获取到文本信息并显示在屏幕上,相关的测试代码如下:  ContentConnection connection = (ContentConnection) ...

    Java发 Https请求工具类 支持SSL

    8. **HTTPS连接的建立**: 包括握手过程,涉及客户端发送“ClientHello”、服务器返回“ServerHello”及证书,然后客户端验证证书并发送加密密钥,最后服务器确认密钥,完成连接。 9. **异常处理**: 在发送HTTPS请求...

    java连接HighGo DB

    如果在建立连接的过程中发生异常,它将被捕获并打印堆栈跟踪信息。在finally块中确保数据库连接会被关闭,避免资源泄漏。在实际应用中,对资源的管理是十分重要的,这不仅关系到应用的稳定性,也与性能密切相关。 4...

    java连接数据库 java 数据库连接 数据库 java连接

    综上所述,Java连接数据库涉及的知识点包括:JDBC接口、数据库驱动、数据库URL、连接参数、加载驱动、建立连接、执行SQL、处理结果和关闭资源。在实践中,还需要考虑连接池、异常处理和事务管理等高级主题。通过深入...

    Https请求工具类,Java实现http请求,https请求

    本篇文章将详细介绍如何使用Java语言实现Http和Https请求的工具类,包括如何建立Https连接、如何实现Post请求、如何处理SSL验证等内容。 在Java中,使用HttpURLConnection类可以实现Http和Https请求,但是对于...

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

    2. **建立HTTPS连接**: 使用`URL`类的`openConnection()`方法创建`HttpURLConnection`对象,然后设置连接属性,如设置连接和读取超时、禁用自动重定向等。 3. **处理重定向**: HTTPS请求可能涉及重定向,你需要...

    java socket长连接客户端服务端(标准实例)

    本案例实现了基于TCP协议的Socket长连接,即客户端和服务端建立连接后,保持连接状态,进行多次数据交互而无需频繁建立和断开连接的过程。 #### 二、长连接的优点 1. **减少连接建立的时间**:由于TCP连接的建立...

    java数据库连接代码

    这些代码行会将特定数据库的 JDBC 驱动类加载到 JVM 中,从而允许 Java 应用程序与该数据库建立连接。 ### 三、数据库连接字符串 连接字符串是建立数据库连接时所需的重要信息之一。示例代码中展示了三种不同...

    java测试数据库连接

    要建立连接,你需要以下步骤: 1. 导入必要的JDBC库:`import java.sql.*;` 2. 加载数据库驱动:`Class.forName("com.mysql.jdbc.Driver");`(这里以MySQL为例,不同的数据库有不同的驱动类) 3. 创建数据库连接:`...

Global site tag (gtag.js) - Google Analytics