url 远程连接
2015-09-24 19:24
344 查看
package com.wondersgroup.wx.weiXin.utils; import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.net.HttpURLConnection; import java.net.URL; import java.util.Map; import org.apache.commons.lang3.StringUtils; public class UrlConnectionUtils { /**get方式 map传递头部参数 参数可null **/ public static String sendSetHeaderGetRequestByGet(String url,Map<String,String> map) throws Exception{ HttpURLConnection httpURLConnection; InputStream input=null; BufferedReader reader=null; String result=""; try { URL sendUrl = new URL(url); httpURLConnection = (HttpURLConnection)sendUrl.openConnection(); httpURLConnection.setRequestMethod("GET"); httpURLConnection.setDoOutput(true); //指示应用程序要将数据写入URL连接,其值默认为false httpURLConnection.setUseCaches(false); httpURLConnection.setConnectTimeout(30000); //30秒连接超时 httpURLConnection.setReadTimeout(30000); //30秒读取超时 httpURLConnection.setRequestProperty("contentType", "utf-8"); if(map != null){ //设置头部参数 httpURLConnection.setRequestProperty(null, map.get(null)); } httpURLConnection.connect(); input=httpURLConnection.getInputStream(); reader=new BufferedReader(new InputStreamReader(input,"UTF-8")); result=reader.readLine(); return result; } catch (Exception e) { e.printStackTrace(); }finally{ try { input.close(); reader.close(); } catch (Exception e) { e.printStackTrace(); } } return null; } /**post方式 map传递头部参数 参数可null json字符串参数 可为null **/ public static String sendSetHeaderGetRequestByPost(String url,Map<String,String> map,String json) throws Exception{ HttpURLConnection httpURLConnection; InputStream input=null; BufferedReader reader=null; String result=""; try { URL sendUrl = new URL(url); httpURLConnection = (HttpURLConnection)sendUrl.openConnection(); httpURLConnection.setRequestMethod("POST"); httpURLConnection.setDoOutput(true); //指示应用程序要将数据写入URL连接,其值默认为false httpURLConnection.setUseCaches(false); httpURLConnection.setConnectTimeout(30000); //30秒连接超时 httpURLConnection.setReadTimeout(30000); //30秒读取超时 httpURLConnection.setRequestProperty("contentType", "application/Json; charset=UTF-8"); if(map != null){ //设置头部参数 httpURLConnection.setRequestProperty(null, map.get(null)); } httpURLConnection.connect(); //传入参数 if(!StringUtils.isBlank(json)){ OutputStream output=httpURLConnection.getOutputStream(); output.write(json.getBytes()); output.flush(); output.close(); } input=httpURLConnection.getInputStream(); reader=new BufferedReader(new InputStreamReader(input,"UTF-8")); result=reader.readLine(); return result; } catch (Exception e) { e.printStackTrace(); }finally{ try { input.close(); reader.close(); } catch (Exception e) { e.printStackTrace(); } } return null; } }
相关文章推荐
- 线性表的顺序存储
- 偏最小二乘回归(PLSR)算法原理
- android 的wifi设置
- Android的事件传递(仿下拉刷新)
- 第一章附录
- 蓝懿iOS培训日志19 SearchBarController
- LightOJ 1422 Halloween Costumes(记忆化搜索)
- 初探GlusterFS-测试卷的类型
- 图像中涉及的基本概念
- AndroidService 深度分析(2)
- Borg Maze poj 3026(bfs+最小生成树)
- css3的3D transform变换
- hdu1115
- 第九周第四天
- hdu1115
- C++学习记录之list容器
- VS2005 调试不能设置断点的解决办法
- swift语言基础之:subscript下标、对象之间的循环强引用的处理方法
- 大视野 1588 Splay入门
- POJ 1651 Multiplication PuzzleDP方法: