`
lguoqing1001
  • 浏览: 47748 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
社区版块
存档分类
最新评论

java 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);  
  •      }  

分享到:
评论

相关推荐

    Java URL类getContent()方法的技术内幕与纯文本处理器的实现.pdf

    Java URL类getContent()方法的技术内幕与纯文本处理器的实现 Java URL类getContent()方法是Java网络编程中的一种常见方法,用于获取网络资源的内容。通过调用URL类的getContent()方法,可以获取资源的内容。但是,...

    java url类获取网站源码

    在Java编程中,`java.net.URL`类是用于表示统一资源定位符(Uniform Resource Locator)的核心类,它是我们从互联网上获取资源的重要工具。当我们想要从网页抓取数据或者进行网络通信时,`URL`类扮演了关键角色。本...

    javaurl类源码-Url-code-fetcher:这是java类,用于获取网络上任何url的源代码

    在本项目"javaurl类源码-Url-code-fetcher"中,我们看到一个专门用于获取网络上任何URL源代码的工具。这个开源项目可能包括了对URL进行请求、读取响应并解析源代码的实现。 1. **URL 类的构造**:URL 类的构造函数...

    URL参数拼接类

    URL参数拼接, URL参数拼接, URL参数拼接, URL参数拼接, URL参数拼接

    javaURL分析.

    二、Java URL类的主要功能 1. 解析:使用`new URL(string)`构造函数可以将字符串解析为URL对象。 2. 连接:`openConnection()`方法返回一个URLConnection对象,用于与目标资源建立连接。 3. 获取信息:可以通过`...

    java URL转PDF文件

    在Java中,我们可以使用`java.net.URL`和`java.net.HttpURLConnection`类来实现。以下是一个简单的示例: ```java URL url = new URL("http://example.com"); HttpURLConnection connection = (HttpURLConnection) ...

    JAVA中三种URL连接方法

    本文将深入探讨JAVA中三种常见的URL连接方法,即使用`URL`类的`openConnection()`方法、使用`HttpURLConnection`类,以及采用`HttpClient`库进行网络请求。 #### `URL`类及其使用 `URL`类是JAVA中用于表示统一资源...

    java 版Url转换工具,可得到真实的URL

    Java URL转换工具是一种用于解析和处理URL的程序,它能够帮助开发者获取URL背后的真实地址,尤其是在面对重定向、参数编码等情况时。在Web开发中,URL(Uniform Resource Locator)是互联网资源的统一地址,它包含了...

    Java实现url加密处理的方法示例

    Java中的URL加密处理是网络安全传输数据的一个重要环节,它可以防止敏感信息在传输过程中被窃取或篡改。本文将深入探讨如何使用Java实现URL加密,特别是基于Base64编码和编码转换的方式。我们将重点关注以下几个方面...

    java URL转PDF文件(完美支持中文)

    2. **获取URL内容**:使用Java的`java.net.URL`和`java.net.URLConnection`类来打开和读取URL的内容。确保设置`URLConnection`的`setUseCaches(false)`和`setDoInput(true)`,以便获取最新的网页内容。 3. **处理...

    JAVA通过url获取网页内容

    通过使用 URL 类和 URLConnection 类,Java 程序可以连接到远程服务器,获取指定 URL 的内容。本文将详细介绍如何使用 Java 通过 URL 获取网页内容。 一、使用 URL 类获取网页内容 在 Java 中,URL 类是用于表示...

    URL转换为PDF的Java实现

    本篇文章将详细探讨如何在Java环境中将一个网页URL转换为PDF文件。 首先,我们可以利用开源库如Jsoup或Apache HttpClient来获取网页的HTML内容。Jsoup是一个用于处理实际世界HTML的Java库,它允许我们解析、操作、...

    Java 获取URL的内容

    Java获取URL内容的,我这里只给出GET方式的,POST和其它方式的都是比较类似的。其技术要点就一下三点。 第一:创建HttpURLConnection 第二:打开URL,创建一个InputStream 第三:逐行(逐字节)读取,如果需要,转换...

    java通过url调用接口

    首先,Java中的`java.net.URL`类是用于表示统一资源定位符(URL)的对象,它是访问互联网资源的入口。通过创建URL对象,可以获取到与该URL关联的信息,如主机名、端口号等,并且可以通过`openConnection()`方法建立...

    Java调用浏览器打开URL地址

    总之,Java调用浏览器打开URL地址主要依赖于`java.awt.Desktop`类的`browse()`方法,这是一种跨平台且易于使用的解决方案。如果需要更精细的控制,可以考虑使用特定浏览器的命令行接口。在实际开发中,确保对各种...

    java中的url重写

    Java 中的 URL 重写 Java 中的 URL 重写是一种常用的技术,它可以将原始的 URL 转换为另一个 URL,以便达到特定的目的。例如,隐藏真实的 URL、实现 URL 的加密、实现 URL 的重定向等。在 Java 中,有多种方式可以...

    JAVA解决URL路径中含有中文的问题

    亲测有效,可以直接使用,此文档解决了Java URL路径含有中文的问题

    andoird java.net.URL类使用

    在Android开发中,`java.net.URL`类是一个非常重要的工具,用于表示统一资源定位符(Uniform Resource Locator),也就是我们常说的网址。这个类允许我们构建、解析和访问网络资源,对于进行网络通信至关重要。本篇...

Global site tag (gtag.js) - Google Analytics