创建https请求
来源:互联网 发布:淘宝达人链接 编辑:程序博客网 时间:2024/06/05 03:45
//创建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();//创建HttpsURLConnection对象,并设置其SSLSocketFactory对象HttpsURLConnection conn = (HttpsURLConnection)url.openConnection();
以上代码,为关键代码!
以下为HttpsRequestUtil工具类
import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.OutputStream;import java.net.HttpURLConnection;import java.net.MalformedURLException;import java.net.URL;import java.net.URLEncoder;import java.security.NoSuchAlgorithmException;import java.security.NoSuchProviderException;import javax.net.ssl.HttpsURLConnection;import javax.net.ssl.SSLContext;import javax.net.ssl.SSLSocketFactory;import javax.net.ssl.TrustManager;import com.google.gson.Gson;import com.wechat.joyful.entity.TuLing;public class HttpsRequestUtil {public static String httpRequest(String requestUrl, String requestMethod, String outStr) throws Exception{String result = "";StringBuffer buffer = null;try {//建立连接URL url = new URL(requestUrl);TrustManager[] tm = {new MyX509TrustManager ()}; SSLContext sslContext = SSLContext.getInstance("SSL","SunJSSE"); sslContext.init(null, tm, new java.security.SecureRandom()); SSLSocketFactory ssf = sslContext.getSocketFactory();HttpsURLConnection conn = (HttpsURLConnection)url.openConnection();conn.setRequestMethod(requestMethod);conn.setDoInput(true);conn.setDoOutput(true);conn.connect();if(outStr!=null){OutputStream os = conn.getOutputStream();os.write(outStr.getBytes("UTF-8"));os.close();}//读取信息InputStream is = conn.getInputStream();InputStreamReader reader = new InputStreamReader(is,"utf-8");BufferedReader bReader = new BufferedReader(reader);buffer = new StringBuffer();String line = null;while((line = bReader.readLine())!=null){buffer.append(line);}result = buffer.toString();} catch (MalformedURLException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}return result;}public static void main(String[] args) {}}
MyX509TrustManager类
public class MyX509TrustManager implements X509TrustManager {public void checkClientTrusted(X509Certificate[] chain, String authType)throws CertificateException {}public void checkServerTrusted(X509Certificate[] chain, String authType)throws CertificateException {}public X509Certificate[] getAcceptedIssuers() {return null;}}
阅读全文
0 0
- 创建https请求
- https请求
- C#创建https请求并使用pfx证书
- C#创建https请求并使用pfx证书
- https 请求被中止: 未能创建 SSL/TLS 安全通道
- tomact 6.0.44 如何创建https SSL安全请求
- Jmeter-如何根据不同返回类型创建https请求
- HTTPS请求添加请求头
- HttpClient请求Https协议
- Java https请求 HttpsURLConnection
- curl https请求 解决方案
- Android 请求https 网址
- QT https post请求
- java 实现https请求
- HttpClient请求Https协议
- https请求绕过证书
- HttpClient请求Https协议
- java 实现https请求
- 深度学习笔记——Word2vec和Doc2vec应用举例:词和句子的相似度计算
- A*算法解决八数码问题 Java语言实现
- Digit Counts 解题报告
- LeetCode 582
- 递归算法—输入字母逆序输出&汉诺塔递归算法
- 创建https请求
- 竖式问题
- 虚拟地址到物理地址的转换
- CodeForces
- (转)Ubuntu使用教程:E: 无法获得锁 /var/lib/apt/lists/lock
- EOJ 3247 铁路修复计划 (最小生成树+二分)
- HDU 4586 Play the Dice(概率入门)
- 回文数
- String类的两种实例化对象的方式