- 浏览: 335183 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
lvyuan1234:
lvyuan1234 写道lvyuan1234 写道lvyua ...
java解析mp3工具 -
lvyuan1234:
lvyuan1234 写道lvyuan1234 写道怎么一直报 ...
java解析mp3工具 -
lvyuan1234:
lvyuan1234 写道怎么一直报找不到文件?找到原因了,e ...
java解析mp3工具 -
lvyuan1234:
怎么一直报找不到文件?
java解析mp3工具 -
Cy0941:
...
org.apache.catalina.connector.RequestFacade cannot be cast to org.springframewor
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); } }
评论
7 楼
liang30890136
2011-05-13
why213344 写道
xbgd 写道
int state = urlconn.getResponseCode();
if (state == 200) {
使用返回发为200来判断是否存在不正确吧。
我记得2**都是可能的
if (state == 200) {
使用返回发为200来判断是否存在不正确吧。
我记得2**都是可能的
/**
* Gets the status code from an HTTP response message.
* For example, in the case of the following status lines:
* <PRE>
* HTTP/1.0 200 OK
* HTTP/1.0 401 Unauthorized
* </PRE>
* It will return 200 and 401 respectively.
* Returns -1 if no code can be discerned
* from the response (i.e., the response is not valid HTTP).
* @throws IOException if an error occurred connecting to the server.
* @return the HTTP Status-Code, or -1
*/
public int getResponseCode() throws IOException
200 成功
201 已创建
202 已接受
203 非权威性信息
204 无内容
205 重置内容
206 部分内容
唉,500错误(内部错误)都应该是存在的,我看到也觉得有问题呢。
sorry,sorry,感谢楼主先,我已经收藏起来了,O(∩_∩)O哈哈~
6 楼
why213344
2011-05-13
xbgd 写道
int state = urlconn.getResponseCode();
if (state == 200) {
使用返回发为200来判断是否存在不正确吧。
我记得2**都是可能的
if (state == 200) {
使用返回发为200来判断是否存在不正确吧。
我记得2**都是可能的
/**
* Gets the status code from an HTTP response message.
* For example, in the case of the following status lines:
* <PRE>
* HTTP/1.0 200 OK
* HTTP/1.0 401 Unauthorized
* </PRE>
* It will return 200 and 401 respectively.
* Returns -1 if no code can be discerned
* from the response (i.e., the response is not valid HTTP).
* @throws IOException if an error occurred connecting to the server.
* @return the HTTP Status-Code, or -1
*/
public int getResponseCode() throws IOException
200 成功
201 已创建
202 已接受
203 非权威性信息
204 无内容
205 重置内容
206 部分内容
5 楼
xbgd
2011-05-13
int state = urlconn.getResponseCode();
if (state == 200) {
使用返回发为200来判断是否存在不正确吧。
我记得2**都是可能的
if (state == 200) {
使用返回发为200来判断是否存在不正确吧。
我记得2**都是可能的
4 楼
bingki
2011-05-13
收了,以后可能用的着
3 楼
jonesche
2011-05-13
竟然 上首页了
2 楼
zhao0p
2011-05-13
还有点用,收了!
1 楼
myter7
2011-05-12
差点就把你当成个帮组文档了 ^ ^
发表评论
-
解决activiti生成的PNG乱码
2012-02-01 11:26 3278使用的版本为activiti5.8 修改org.act ... -
FastDFS的安装,配置与使用(java)
2011-08-14 15:40 26335先引用一下FastDFS的介绍: FastDFS is ... -
tomcat启动报错Socket accept failed
2011-08-11 21:11 5347tomcat启动时,报错如下: 2011-8-11 2 ... -
HTML工具类
2011-05-11 23:19 1398package ssh.util; import ... -
利用Spring AOP记录Hibernate统计信息
2011-03-19 08:41 1730在Hibernate的属性里设置hibernate.gener ... -
搭建liferay-portal6.0.6
2011-03-09 19:48 2913首先在http://sourceforge.net/proje ... -
Quartz在Spring中的使用
2011-03-08 17:43 2173Quartz项目主页http://www.quartz-sch ... -
使用httpclient模拟表单提交
2011-01-31 22:19 15462文件类型使用FileBody,字符串类型使用StringBod ... -
懒人专用,方便调试:反射生成hibernate映射类的toString方法
2011-01-04 21:28 1576...不知道有没有和我一样懒的,表的列太多,一个一个弄太麻烦, ... -
用junit测试SSH项目以及常见错误解决方法
2011-01-01 21:42 3326public static BeanFactory f ... -
log4j配置详解,附带hibernate
2010-12-31 18:53 9203log4j.properties # For JBoss: ... -
导入导出Excel工具,支持XML和properties配置(二)
2010-12-25 08:49 2376XMLUtil.java package ssh.ut ... -
导入导出Excel工具,支持XML和properties配置(一)
2010-12-25 08:46 2410需要jxl.jar,dom4j.jar JXLUtil.j ... -
java读取rss
2010-12-24 13:51 5114用到的jar包为jdom.jar, rome-1.0.jar( ... -
log4j:ERROR LogMananger.repositorySelector was null
2010-12-23 15:32 1512排除log4j版本问题后,仍出现此问题,解决方法:设置org. ... -
log4j.properties配置文件模板
2010-12-23 10:36 1554# For JBoss: Avoid to setup ...
相关推荐
URL工具类在Java编程中扮演着重要角色,它帮助开发者更方便地处理URL相关的任务,例如构建、解析和操作URL。这个"整理后的url工具类"很可能是为了简化HTTP请求,特别是涉及到文件上传或模拟表单提交的场景。 首先,...
Base64工具类-字符编码工具类-数据类型转换-日期工具类-Escape中文...MD5编码工具类- MD5加密 生成32位md5码-数字工具类-随机数工具类-反射工具类-字符串处理工具类-URL工具类-UUID-常用的数据验证工具类-XML工具类-
文件工具类,Http请求工具类,图片处理工具类。Ip工具类。mail工具类,Map工具类,MD5编码工具类,数字工具类,随机数工具类,反射工具类,字符串处理工具类,URL工具类,XML工具类,常用的数据验证工具类
加密工具类 包含md5加密 base加密解密 md5加密 aes加密解密 urlencoude
在实际开发中,为了代码的复用性和易维护性,通常会将这些网络操作封装成一个工具类,提供如sendGetRequest(), sendPostRequest()和downloadImage()等方法,方便在各个地方调用。 以上就是关于Android中使用...
Java URL转换工具是一种用于解析和处理URL的程序,它能够帮助开发者获取URL背后的真实地址,尤其是在面对重定向、参数编码等情况时。在Web开发中,URL(Uniform Resource Locator)是互联网资源的统一地址,它包含了...
[工具类] 成各种密码随机串,加密解密,编码解码,执行url.java [工具类] 读取、打印输出、保存xml .java [工具类] 获得汉字拼音首字母的java工具类 .java [工具类] 获取绝对路径 .java [工具类] 记录log日志...
在C++编程中,工具类是非常重要的一部分,它们提供了一系列通用功能,可以帮助开发者更高效地进行项目开发。本文将深入探讨标题"**C++工具类-常用工具类源码**"所涵盖的知识点,主要围绕文件处理、编码处理、字符串...
URL工具类 密码加密工具类+AESUtil+凯撒加密-CaesarCipherUtil+频率分析法加密工具,结合凯撒加密-FrequencyCipherUtil时间工具类随机生成工具类文件工具类URL工具类 密码加密工具类+AESUtil+凯撒加密-...
本主题主要聚焦于“一些工具类的整合”,包括MD5加密、URL编码与解码以及网络辅助工具等多个方面。这些工具类在日常开发中扮演着不可或缺的角色,尤其对于处理数据安全、网络通信等问题时更为关键。 首先,让我们来...
1. **网络请求工具类**:可能包含一个POST方法,用于向服务器发送HTTP POST请求,通常会封装URL编码、参数设置、请求头管理等功能。例如,`PostUtil`类可以简化网络请求的编写,避免重复的代码。 2. **字符串处理...
这个工具类可能封装了上述四个方法,为开发者提供便利的API,例如`post(String url, Map, String> params)`、`get(String url)`、`put(String url, Map, String> params)`和`delete(String url)`。这样的设计使得在...
2. 这曾经是入侵大型网站(特别是交易类网站的)的黑客钓鱼时隐藏实际URL的工具. 在09年之前的很流行的搜索框漏洞就可以利用框架制造出官方域名开头的URL,然后用转码工具 去隐藏实际的request参数.
2. **URL处理**:工具类应包含解析和构建URL的方法,以便正确处理URL编码和解码,防止URL注入攻击。 3. **请求头设置**:允许设置各种HTTP请求头,如Content-Type(定义请求体的数据类型)、Authorization(用于...
【标题】"安卓开发框架工具类相关-Android快速开发系列10个常用工具类.rar" 涉及的是Android应用程序开发中的一个关键方面——工具类的集合。在Android开发中,工具类通常包含一系列静态方法,用于执行常见的、重复...
该工具类提供了多种方法来发送 GET、POST、PUT、DELETE 等请求,并且支持设置超时时间、代理服务器、证书验证等功能。 关键代码分析 在 HttpUtils 工具类中,有一些关键的代码需要特别注意: 1. `init()` 方法:...
8. **网络通信**:网络工具类可能包含URL编码解码、HTTP请求发送等功能,为网络编程提供便利。 9. **异常处理**:提供统一的异常处理方法,如`ExceptionUtils.printStackTrace()`,可以在捕获异常时打印堆栈跟踪,...
2. **网络请求封装**:uni-app提供了uni.request()来处理HTTP请求,但为了简化调用和统一错误处理,开发者往往会在工具类中封装这个方法,比如`apiRequest(url, data, method)`,它可能包含了请求头设置、数据序列化...
* 方法定义:getUrl、setUrl、getType、setType等方法,用于获取和设置分页工具类的属性。 3. 分页工具类的工作流程 分页工具类的工作流程可以分为以下几个步骤: 1. 初始化:分页工具类初始化时,设置了默认的每...
在工具类中,通常会提供两个方法分别处理这两种请求,例如`sendGetRequest(url, params)`和`sendPostRequest(url, params, requestBody)`。 2. 请求头与请求体:HTTP请求由请求行(包含方法、URL和协议版本)、请求...