`
_____bEn-beN
  • 浏览: 14301 次
社区版块
存档分类
最新评论

java使用https+post

 
阅读更多

/*
 * 文 件 名:  GetCSATHttpsTest.java
 * 版    权:  Copyright 2000-2009 Huawei Tech. Co. Ltd. All Rights Reserved.
 * 描    述:  <描述>
 * 修 改 人:  cwx223372
 * 修改时间:  2015年9月11日
 * 修改版本: 
 */
package com.huawei.csservice.action.service;

import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.net.URL;
import java.security.KeyManagementException;
import java.security.NoSuchAlgorithmException;
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;

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;

import org.junit.Test;

import com.huawei.common.components.encrypt.EncryptedUtils;
import com.huawei.common.components.encrypt.HmacSHA256Encrypter;
import com.huawei.common.system.COMException;
import com.huawei.common.utils.CharsetUtils;
import com.huawei.common.utils.access.jackson.JacksonMapper;
import com.huawei.csservice.action.service.event.GetCSATREvt;

public class GetCSATHttpsTest
{
    public static String httpsurl = "https:www.baidu.com";
   
    /**
     * 测试
     */
    @Test
    public void testHttps()
        throws IOException, NoSuchAlgorithmException, KeyManagementException, COMException
    {
        TrustManager myX509TrustManager = new X509TrustManager()
        {
            @Override
            public X509Certificate[] getAcceptedIssuers()
            {
                return new X509Certificate[] {};
            }
           
            @Override
            public void checkServerTrusted(X509Certificate[] chain, String authType)
                throws CertificateException
            {
            }
           
            @Override
            public void checkClientTrusted(X509Certificate[] chain, String authType)
                throws CertificateException
            {
            }
        };
       
        //设置SSLContext
        SSLContext sslcontext = SSLContext.getInstance("TLS");
        sslcontext.init(null, new TrustManager[] {myX509TrustManager}, null);
       
        // 创建URL对象
        URL myURL = new URL(httpsurl);
       
        // 创建HttpsURLConnection对象,并设置其SSLSocketFactory对象
        HttpsURLConnection httpsConn = (HttpsURLConnection)myURL.openConnection();
       
        //设置套接工厂
        httpsConn.setSSLSocketFactory(sslcontext.getSocketFactory());
       
        HostnameVerifier hostNameVerify = new HostnameVerifier()
        {
            /**
             * Always return true
             */
            public boolean verify(String urlHostName, SSLSession session)
            {
                return true;
            }
        };
       
        httpsConn.setHostnameVerifier(hostNameVerify);
       
        //加入post数据
        String postdata = getPostData();
        httpsConn.setRequestMethod("POST");
        httpsConn.setDoOutput(true);
        DataOutputStream out = new DataOutputStream(httpsConn.getOutputStream());
        if (null != postdata)
        {
            out.writeBytes(postdata);
        }
        out.flush();
        out.close();
       
        //获取输入流
        BufferedReader in = new BufferedReader(new InputStreamReader(httpsConn.getInputStream()));
        int code = httpsConn.getResponseCode();
       
        if (HttpsURLConnection.HTTP_OK == code)
        {
            String temp = in.readLine();
           
           //輸出字符串
            while (temp != null)
            {
                System.out.println(temp);
                temp = in.readLine();
            }
        }
    }
   
    /**
     * 获取post数据
     */
    private static String getPostData()
        throws UnsupportedEncodingException, COMException
    {
         return "";
    }
}

分享到:
评论

相关推荐

    java支持https的Post请求

    在Java编程环境中,进行HTTPS POST请求是常见的网络通信任务,特别是在需要安全传输敏感数据时,如用户登录信息或支付详情。HTTPS(HTTP over SSL/TLS)提供了加密和身份验证机制,确保了数据的隐私和完整性。本文将...

    Java Https工具类,Java Https Post请求

    这个“Java Https工具类,Java Https Post请求”可能是一个自定义的类,用于简化发送HTTPS POST请求的过程。以下是对这个主题的详细讲解: 1. **HTTPS基础**: - HTTPS是在HTTP上添加了SSL/TLS(Secure Sockets ...

    (完整版)JAVA利用HttpClient进行POST请求(HTTPS).doc

    在本文中,我们将详细介绍如何使用JAVA的HttpClient库来发送POST请求,以便与HTTPS服务器进行交互。首先,我们需要继承DefaultHttpClient类,以便自定义HttpClient的行为。然后,我们需要使用X509TrustManager来忽略...

    java发送http/https请求(get/post)代码

    本文将详细讲解如何使用Java发送GET和POST请求,以及涉及的HTTPS安全连接。 首先,理解HTTP和HTTPS的区别至关重要。HTTP(超文本传输协议)是一种用于分发超媒体信息的应用层协议,而HTTPS(超文本传输安全协议)是...

    java发送http/https请求(get/post)Demo,亲测可用

    这里我们将深入探讨如何使用Java发送GET和POST请求,以及处理JSON数据。 首先,让我们关注GET请求。GET请求主要用于从服务器获取资源,其参数通常包含在URL中。在Java中,可以使用`HttpURLConnection`类或者第三方...

    https的get和post请求,去除ssl校验的java工具类

    java的get和post请求,获取json的工具类,https时会存在ssl校验的问题,工具会自动去除ssl校验。

    java 发送https 请求 证书

    3. **发送HTTPS请求**:现在你可以使用HttpClient发送GET或POST请求了: ```java HttpGet request = new HttpGet("https://your.server.com/path"); HttpResponse response = httpClient.execute(request); int ...

    Java发https请求证书问题

    - 以上两行代码的作用是告诉 Java 虚拟机信任 `tomcat.keystore` 中的证书,并使用指定的密码访问密钥库。 5. **发送 HTTPS 请求**: - 使用上述配置后的环境发送 HTTPS 请求,此时应该能正确地与服务器建立安全...

    https发送post请求

    ### HTTPS 发送 POST 请求知识点详解 #### 一、概述 在现代互联网应用中,安全通信变得尤为重要。HTTPS(Hypertext Transfer Protocol Secure)是HTTP的安全版本,它通过使用SSL/TLS协议来保护通信数据的隐私性和...

    java_https_post(兼容http).zip

    在Java中,我们通常使用`java.net.HttpURLConnection`类或者Apache HttpClient库来实现HTTP和HTTPS的POST请求。以下是一个使用`HttpURLConnection`的基本步骤: 1. **创建URL对象**:首先,根据目标服务器地址创建...

    java中main方法发送httpPost请求

    以上就是使用`HttpURLConnection`发送POST请求的基本步骤。然而,实际开发中,我们可能更倾向于使用Apache HttpClient或OkHttp,因为它们提供了更高级的功能,如自动重试、超时设置和更好的性能。 对于标签中的...

    Java发 Https请求工具类 支持SSL

    这个Java HTTPS请求工具类是微信内部使用的,因此可能已经针对微信服务进行了优化,适用于那些需要与微信API进行安全通信的场景。使用该工具类可以大大简化代码,提高开发效率,同时确保数据传输的安全性。通过阅读...

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

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

    java访问https网址下载文件

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

    Java+restful+Web+Service实战

    Java RESTful Web Service实战是Java开发领域中一个重要的实践教程,它主要涵盖了使用Java技术和RESTful架构风格来创建高效、可扩展的网络服务。REST(Representational State Transfer)是一种网络应用程序的设计...

    JAVA利用HttpClient进行POST请求(HTTPS)实例

    本实例将介绍如何使用HttpClient进行POST请求,特别是针对HTTPS的请求,以避免证书校验过程。 首先,我们需要创建一个自定义的SSLClient类,这个类继承自DefaultHttpClient。在SSLClient类中,我们将重写SSL证书的...

    完整的HttpClient的get和post使用方法实例(java源代码)

    在这个实例中,我们将深入理解如何使用HttpClient进行GET和POST请求。 **一、HttpClient的GET请求** GET请求是最基础的HTTP请求方式,用于从服务器获取资源。在HttpClient中,可以通过`HttpGet`类来创建GET请求。...

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

    本篇文章将深入探讨如何在Java中实现读取不同格式(如cer、der、crt)的证书,以及如何使用这些证书访问HTTPS接口并获取返回数据。 首先,我们需要了解证书的基本概念。证书通常包含了公钥和一些身份信息,由受信任...

    Java实现的Https请求工具类

    3. **创建HttpURLConnection对象**:使用`java.net.URL`类打开与目标服务器的连接,并通过`openConnection()`方法获取HttpURLConnection对象。然后,将Socket工厂设置为HTTPS连接的套接字工厂。 ```java URL url = ...

Global site tag (gtag.js) - Google Analytics