首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

URL工具种

2012-10-28 
URL工具类package ssh.utilimport java.awt.image.BufferedImageimport java.io.BufferedReaderimport

URL工具类

package ssh.util;import java.awt.image.BufferedImage;import java.io.BufferedReader;import java.io.File;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.UnsupportedEncodingException;import java.net.HttpURLConnection;import java.net.MalformedURLException;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.imageio.ImageIO;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;     } }/** * 保存图片到本地  * @param picUrl * 图片URL地址 * @param newFileName * 保存文件名 * @param dir * 保存目录 * @return */public static void savePic(String picUrl, String newFileName, String dir){try{URL url = new URL(picUrl);InputStream in = url.openStream();   BufferedImage srcImage =  ImageIO.read(url.openStream()); File img = new File(dir + newFileName);ImageIO.write(srcImage, "jpg", img);        in.close();    } catch (IOException e) {       e.printStackTrace();       }}    public static void main(String[] args) {    String content = URLUtil.url2Str("http://www.baidu.com");;    System.out.println(content);    }}

热点排行