博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
url工具类(转)
阅读量:6909 次
发布时间:2019-06-27

本文共 5158 字,大约阅读时间需要 17 分钟。

  hot3.png

url工具类(转)
package ssh.util;            import java.io.BufferedReader;      import java.io.InputStreamReader;      import java.io.UnsupportedEncodingException;      import java.net.HttpURLConnection;      import java.net.URL;      import java.net.URLConnection;      import java.net.URLDecoder;      import java.net.URLEncoder;      import java.util.Iterator;      import java.util.Map;            import javax.servlet.http.HttpServletRequest;            /**      * URL工具      * @author gary      *      */      public class URLUtil {                /**          * 对url进行编码          */          public static String encodeURL(String url) {              try {                  return URLEncoder.encode(url, "UTF-8");              } catch (UnsupportedEncodingException e) {                  e.printStackTrace();                  return null;              }          }                    /**          * 对url进行解码          * @param url          * @return          */          public static String decodeURL(String url){              try {                  return URLDecoder.decode(url, "UTF-8");              } catch (UnsupportedEncodingException e) {                  e.printStackTrace();                  return null;              }          }                /**          * 判断URL地址是否存在          * @param url          * @return          */          public static boolean isURLExist(String url) {              try {                  URL u = new URL(url);                  HttpURLConnection urlconn = (HttpURLConnection) u.openConnection();                  int state = urlconn.getResponseCode();                  if (state == 200) {                      return true;                  } else {                      return false;                  }              } catch (Exception e) {                  return false;              }          }                    /**          * 将请求参数还原为key=value的形式,for struts2          * @param params          * @return          */          public static String getParamString(Map
params) { StringBuffer queryString = new StringBuffer(256); Iterator
it = params.keySet().iterator(); int count = 0; while (it.hasNext()) { String key = (String) it.next(); String[] param = (String[]) params.get(key); for (int i = 0; i < param.length; i++) { if (count == 0) { count++; } else { queryString.append("&"); } queryString.append(key); queryString.append("="); try { queryString.append(URLEncoder.encode((String) param[i], "UTF-8")); } catch (UnsupportedEncodingException e) { } } } return queryString.toString(); } /** * 获得请求的路径及参数 * @param request * @return */ public static String getRequestURL(HttpServletRequest request) { StringBuffer originalURL = new StringBuffer(request.getServletPath()); Map
parameters = request.getParameterMap(); if (parameters != null && parameters.size() > 0) { originalURL.append("?"); originalURL.append(getParamString(parameters)); } return originalURL.toString(); } /** * 抓取网页内容,自动识别编码 * @param urlString * @return */ public static String url2Str(String urlString) { try { StringBuffer html = new StringBuffer(); URL url = new URL(urlString); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); URLConnection c = url.openConnection(); c.connect(); String contentType = c.getContentType(); String characterEncoding = null; int index = contentType.indexOf("charset="); if(index == -1){ characterEncoding = "UTF-8"; }else{ characterEncoding = contentType.substring(index + 8, contentType.length()); } InputStreamReader isr = new InputStreamReader(conn.getInputStream(), characterEncoding); BufferedReader br = new BufferedReader(isr); String temp; while ((temp = br.readLine()) != null) { html.append(temp).append("\n"); } br.close(); isr.close(); return html.toString(); } catch (Exception e) { e.printStackTrace(); return null; } } public static void main(String[] args) { String content = URLUtil.url2Str("http://www.baidu.com");; System.out.println(content); } }

转载于:https://my.oschina.net/huqiji/blog/799322

你可能感兴趣的文章
CSS之文本
查看>>
结对编程——代码审查
查看>>
poj 2549 Sumsets
查看>>
【HDU 6153】A Secret (KMP)
查看>>
strcpy vs. strcat strncpy vs. strncat
查看>>
docker-compose no such image
查看>>
关于DOM的理解
查看>>
windows安装redis并设置别名
查看>>
触发器修改后保存之前的数据 表中插入数据时ID自动增长
查看>>
HDU 1253 - 胜利大逃亡
查看>>
Oracle优化学习
查看>>
Educational Codeforces Round 55 (Rated for Div. 2)
查看>>
最近又发现一个解决安卓7.0调用相机问题的解决方法,分享一下
查看>>
书单 & 资料
查看>>
php常用函数之String篇
查看>>
【对拍√】
查看>>
重载,继承,重写,多态的区别
查看>>
NUnit笔记
查看>>
maven添加sqlserver的jdbc驱动包
查看>>
POJ 1426 Find The Multiple
查看>>