java 发送http与https请求
来源:互联网 发布:淘宝波奇网 编辑:程序博客网 时间:2024/06/08 09:08
一、发送https请求
public static JSONObject httpsRequest(String requestUrl, String requestMethod, String outputStr) {JSONObject jsonObject = null;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 conn = (HttpsURLConnection) url.openConnection();conn.setSSLSocketFactory(ssf);conn.setDoOutput(true);conn.setDoInput(true);conn.setUseCaches(false);// 设置请求方式(GET/POST)conn.setRequestMethod(requestMethod);conn.setRequestProperty("Content-Type", "application/json;charset=utf-8");// 当outputStr不为null时向输出流写数据if (null != outputStr) {OutputStream outputStream = conn.getOutputStream();// 注意编码格式outputStream.write(outputStr.getBytes("UTF-8"));outputStream.close();}// 从输入流读取返回内容InputStream inputStream = conn.getInputStream();InputStreamReader inputStreamReader = new InputStreamReader(inputStream, "utf-8");BufferedReader bufferedReader = new BufferedReader(inputStreamReader);String str = null;StringBuffer buffer = new StringBuffer();while ((str = bufferedReader.readLine()) != null) {buffer.append(str);}// 释放资源bufferedReader.close();inputStreamReader.close();inputStream.close();inputStream = null;conn.disconnect();jsonObject = JSONObject.fromObject(buffer.toString());} catch (ConnectException ce) {log.error("连接超时:{}", ce);} catch (Exception e) {log.error("https请求异常:{}", e);}return jsonObject;}
二、 发送http请求
public static JSONObject httpRequest(String requestUrl, String requestMethod, String outputStr) {JSONObject jsonObject = null;try {URL url = new URL(requestUrl);HttpURLConnection conn = (HttpURLConnection)url.openConnection();conn.setDoOutput(true);conn.setDoInput(true);conn.setUseCaches(false);// 设置请求方式(GET/POST)conn.setRequestMethod(requestMethod);conn.setRequestProperty("Content-Type", "application/json;charset=utf-8");// 当outputStr不为null时向输出流写数据if (null != outputStr) {OutputStream outputStream = conn.getOutputStream();// 注意编码格式outputStream.write(outputStr.getBytes("UTF-8"));outputStream.close();}// 从输入流读取返回内容InputStream inputStream = conn.getInputStream();InputStreamReader inputStreamReader = new InputStreamReader(inputStream, "utf-8");BufferedReader bufferedReader = new BufferedReader(inputStreamReader);String str = null;StringBuffer buffer = new StringBuffer();while ((str = bufferedReader.readLine()) != null) {buffer.append(str);}// 释放资源bufferedReader.close();inputStreamReader.close();inputStream.close();inputStream = null;conn.disconnect();jsonObject = JSONObject.fromObject(buffer.toString());} catch (ConnectException ce) {log.error("连接超时:{}", ce);} catch (Exception e) {log.error("http请求异常:{}", e);}return jsonObject;}
说明: 上述2个例子目前是基于POST请求,参数为json格式,通过request body 传参。如果是get请求或者通过在url链接传参,程序需要做稍微修改。
阅读全文
1 0
- java 发送http与https请求
- JAVA发送http、https请求
- java发送HTTP和HTTPS请求
- java 发送http和https请求
- JAVA Socket 实现HTTP与HTTPS客户端发送POST与GET方式请求
- JAVA Socket 实现HTTP与HTTPS客户端发送POST与GET方式请求
- JAVA Socket 实现HTTP与HTTPS客户端发送POST与GET方式请求
- 【网络】JAVA Socket 实现HTTP与HTTPS客户端发送POST与GET方式请求
- JAVA Socket 实现HTTP与HTTPS客户端发送POST与GET方式请求
- java 发送 https请求
- java发送https请求
- java 发送HTTPS请求
- Java---发送HTTPS请求
- Java Socket 实现HTTP与HTTPS协议发送POST/GET请求
- Java Socket 实现HTTP与HTTPS协议发送POST/GET请求
- ruby发送http,https请求
- HttpClient 发送 HTTP、HTTPS 请求
- java发送http和https请求(忽略证书)
- Android本地服务器——TomCat服务器的搭建
- 求组合数
- H5+CSS练习
- 2017后半年的计划
- Java基础学习笔记 第一部分 part 5*
- java 发送http与https请求
- Spring Cloud 学习笔记(1)-- 入门,特征,配置
- Linux(Centos)之安装Nginx及注意事项(转载)
- 树
- GNU CoreUtils 命令源码重编译
- Jenkins 修复
- AndroidStudio使用过程中java类突然报红,但是程序可运行
- 一个java菜鸟对sql语句优化的总结
- Doctype作用?