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);
}
}
分享到:
相关推荐
整理后的url工具类,可传入文件,模拟form提交
Base64工具类-字符编码工具类-数据类型转换-日期工具类-Escape中文...MD5编码工具类- MD5加密 生成32位md5码-数字工具类-随机数工具类-反射工具类-字符串处理工具类-URL工具类-UUID-常用的数据验证工具类-XML工具类-
文件工具类,Http请求工具类,图片处理工具类。Ip工具类。mail工具类,Map工具类,MD5编码工具类,数字工具类,随机数工具类,反射工具类,字符串处理工具类,URL工具类,XML工具类,常用的数据验证工具类
加密工具类 包含md5加密 base加密解密 md5加密 aes加密解密 urlencoude
[工具类] 成各种密码随机串,加密解密,编码解码,执行url.java [工具类] 读取、打印输出、保存xml .java [工具类] 获得汉字拼音首字母的java工具类 .java [工具类] 获取绝对路径 .java [工具类] 记录log日志...
这是一个关于httpurlconnection 的网络post get 图片下载的Demo
java 版Url转换工具,可得到真实的URL
2. 这曾经是入侵大型网站(特别是交易类网站的)的黑客钓鱼时隐藏实际URL的工具. 在09年之前的很流行的搜索框漏洞就可以利用框架制造出官方域名开头的URL,然后用转码工具 去隐藏实际的request参数.
工具类的整合,md5加密,url编码,解码,网络辅助工具等等
jsoup 是一款Java 的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据。
编码工具-URL工具 编码工具-Base32-64工具 编码工具-Unicode工具 常用类辅助工具-转换工具 常用类辅助工具-日期工具 常用类辅助工具-字符串工具 常用类辅助工具-数字工具 常用类辅助工具-数组工具 常用类...
java网络请求工具类 HttpURLConnection post请求工具类HttpURLConnection httpURLConnection = (HttpURLConnection) url .openConnection(); httpURLConnection.setRequestMethod("POST");// 提交模式
DJNativeSwing.jar,DJNativeSwing-SWT.jar,swt-win-x64.jar(另提供swt-windows.jar32位下载) 自带pom.xml maven文件---亲测都可使用
创建文件工具类 包含创建文件夹 文件 临时文件等
URL参数拼接, URL参数拼接, URL参数拼接, URL参数拼接, URL参数拼接
常用验证工具类,包括邮箱,手机,座机号,非零,数字,大小写,中文,条形码,IP,URL地址,html正则表达式验证等
自己做的一个URL截取小工具,主要功能有: 1、截取URL完整域名 2、截取URL一、二、三级目录
C# webservice 服务调用工具类。 此工具 对 post get 请求进行了封装,只需要传递对应的URL以及参数即可返回JSON 或者XML 的字符串。 是非常有用的调用远程接口的服务类。 webservice
微信服务好xml数据包加密解密工具类,来源于官方文档,下载完就能使用。 使用方式: 1.解压压缩包 2.将demo代码拷贝至编辑器中 3.打开Program类,通过maven自动将所有的依赖引入 4.根据自己的实际情况,修改toekn,...
android 缓存 工具类 源码,为用户节省流量,把信息存放到数据库,三种缓存策略:(1)LRU算法,固定缓存图片数量(max_num),当图片数量超出max_num时,将缓存中最近用的最少的图片删除。 (2)FTU算法,固定每张...