123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165 |
- package com.chinacreator.process.util;
- import java.io.ByteArrayOutputStream;
- import java.io.InputStream;
- import java.io.OutputStreamWriter;
- import java.net.HttpURLConnection;
- import java.net.URL;
- import java.util.HashMap;
- import java.util.Set;
- public class URLUtil {
-
- /**
- * 解读流
- * @param inStream
- * @return
- * @throws Exception
- */
- public static String readInputStream(InputStream inStream) throws Exception {
- ByteArrayOutputStream outStream = null;
- try {
- outStream = new ByteArrayOutputStream();
- byte[] buffer = new byte[1024];
- int len = 0;
- while ((len = inStream.read(buffer)) != -1) {
- outStream.write(buffer, 0, len);
- }
- byte[] data = outStream.toByteArray();
- return new String(data, "utf-8");
- } finally{
- if(outStream != null)
- outStream.close();
- if(inStream != null)
- inStream.close();
- }
- }
-
- /**
- * 以get方式获取链接的输出
- * @param href
- * @return
- * @throws Exception
- */
- public static String get(String href, int timeout) throws Exception {
- HttpURLConnection conn = null;
- try {
- URL url = new URL(href);
- conn = (HttpURLConnection) url.openConnection();
- conn.setRequestMethod("GET");
- if(timeout > 0) {
- conn.setConnectTimeout(timeout);
- conn.setReadTimeout(timeout);
- }
- conn.addRequestProperty("content-type", "text/plain");
- conn.setUseCaches(false);
- conn.setDoOutput(false);
- return readInputStream(conn.getInputStream());
- } finally {
- if(conn != null) {
- conn.disconnect();
- }
- }
- }
-
- public static String get(String href) throws Exception {
- return get(href, 0);
- }
- public static String get(String href, HashMap<String,String> map) throws Exception {
- HttpURLConnection conn = null;
- try {
- URL url = new URL(href);
- conn = (HttpURLConnection) url.openConnection();
- conn.setRequestMethod("GET");
- conn.addRequestProperty("content-type", "text/plain");
- if (map!=null&&map.size()>0){
- Set<String> strings = map.keySet();
- for (String key:strings){
- conn.addRequestProperty(key,map.get(key));
- }
- }
- conn.setUseCaches(false);
- conn.setDoOutput(false);
- return readInputStream(conn.getInputStream());
- } finally {
- if(conn != null) {
- conn.disconnect();
- }
- }
- }
- /**
- * 以post方式获取链接的输出
- * @param href
- * @return
- * @throws Exception
- */
- public static String post(String href, String data, int timeout, String contentType) throws Exception {
- HttpURLConnection conn = null;
- OutputStreamWriter out = null;
- if(data == null || data.length() == 0) {
- return get(href, timeout);
- } else {
- try {
- URL url = new URL(href);
- if ("https".equalsIgnoreCase(url.getProtocol())) {
- SslUtils.ignoreSsl();
- }
- conn = (HttpURLConnection) url.openConnection();
- conn.setRequestMethod("POST");
- if(timeout > 0) {
- conn.setConnectTimeout(timeout);
- conn.setReadTimeout(timeout);
- }
- conn.addRequestProperty("content-type", contentType);
- conn.setDoOutput(true);
- conn.setUseCaches(false);
- out = new OutputStreamWriter(conn.getOutputStream(), "UTF-8");
- out.write(data);
- out.flush();
- } finally {
- if(out != null) {
- out.close();
- }
- if(conn != null) {
- conn.disconnect();
- }
- }
- if(conn != null) {
- return readInputStream(conn.getInputStream());
- }
- return null;
- }
- }
-
- public static String postJson(String href, String data) throws Exception {
- return post(href, data, 0, "application/json;charset=utf-8");
- }
-
- public static String postJson(String href, String data, int timeout) throws Exception {
- return post(href, data, timeout, "application/json;charset=utf-8");
- }
-
- public static String post(String href, String data, int timeout) throws Exception {
- return post(href, data, timeout, "text/plain");
- }
-
- public static String post(String href, String data) throws Exception {
- return post(href, data, 0);
- }
-
- public static String postForm(String href, String data, int timeout) throws Exception {
- return post(href, data, timeout, "application/x-www-form-urlencoded");
- }
-
- public static String postForm(String href, String data) throws Exception {
- return postForm(href, data, 0);
- }
-
- public static void main(String[] args) throws Exception {
- String url = "http://114.255.201.228:86/mobile-report/sendAlarmMsg.do";
- String result = postForm(url, "name=CDN_BUSINESS&content=测试短信");
- System.out.println(result);
- }
- }
|