Java将网页上的js下载下来。

Posted csh520mjy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java将网页上的js下载下来。相关的知识,希望对你有一定的参考价值。

  1 import java.io.BufferedReader;
  2 import java.io.File;
  3 import java.io.IOException;
  4 import java.io.InputStream;
  5 import java.io.InputStreamReader;
  6 import java.net.HttpURLConnection;
  7 import java.net.URL;
  8 
  9 import com.hanweb.common.util.FileUtil;
 10 
 11 /**
 12  * 获取网页js文件,请求时间会很长
 13  * 
 14  * @author csh
 15  *
 16  */
 17 public class DowloadJSUtil 
 18 
 19     
 20     //例子http://www.caoxian.gov.cn/script/0/1809251344255856.js
 21     
 22     /**
 23      * 读取js
 24      * @param url
 25      * @param encode
 26      * @return
 27      */
 28     public static String gethtmlContent(URL url) 
 29         StringBuffer contentBuffer = new StringBuffer();
 30 
 31         int responseCode = -1;
 32         HttpURLConnection con = null;
 33         try 
 34             con = (HttpURLConnection) url.openConnection();
 35             con.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)");// IE代理进行下载
 36             con.setConnectTimeout(60000);
 37             con.setReadTimeout(60000);
 38             // 获得网页返回信息码
 39             responseCode = con.getResponseCode();
 40             if (responseCode == -1) 
 41                 String re = url.toString() + " : connection is failure...";
 42                 con.disconnect();
 43                 return re;
 44             
 45             if (responseCode >= 400) // 请求失败
 46             
 47                 String re = "请求失败:get response code: " + responseCode;
 48                 con.disconnect();
 49                 return re;
 50             
 51 
 52             InputStream inStr = con.getInputStream();
 53             InputStreamReader istreamReader = new InputStreamReader(inStr, "UTF-8");
 54             BufferedReader buffStr = new BufferedReader(istreamReader);
 55 
 56             String str = null;
 57             while ((str = buffStr.readLine()) != null)
 58                 contentBuffer.append(str).append("\r\n");
 59             inStr.close();
 60          catch (IOException e) 
 61             e.printStackTrace();
 62             contentBuffer = null;
 63             System.out.println("error: " + url.toString());
 64          finally 
 65             con.disconnect();
 66         
 67         return contentBuffer.toString();
 68     
 69 
 70     /**
 71      * 获取js内容
 72      * @param url
 73      * @param encode
 74      * @return
 75      */
 76     public static String getHtmlContentS(String url) 
 77         if (!url.toLowerCase().startsWith("http://")) 
 78             url = "http://" + url;
 79         
 80         try 
 81             URL rUrl = new URL(url);
 82             return getHtmlContent(rUrl);
 83          catch (Exception e) 
 84             e.printStackTrace();
 85             return "网址错误!";
 86         
 87 
 88     
 89     
 90     /**
 91      * 获取到js内容生成一个对应js文件
 92      * @param url
 93      * @return
 94      */
 95     public static boolean mkDirFile(URL url,File file ) 
 96         boolean isSuccess=false;
 97         String htmlContent = "";
 98         try 
 99             htmlContent = getHtmlContent(url);
//        下载到一个js文件中,需要之前创建一个js文件
100 isSuccess = FileUtil.writeStringToFile(file, htmlContent); 101 catch (Exception e) 102 e.printStackTrace(); 103 104 return isSuccess; 105 106

 

以上是关于Java将网页上的js下载下来。的主要内容,如果未能解决你的问题,请参考以下文章

如何将一个网页以及包含的文件全部整站下载到本地电脑里?

为啥下载下来的东西打开是网页

如何将网页上的EXCEL表格批量下载呢?

怎样从网页上下载图片

如何下载网页上的所有图片

如何在网页中显示PDF文件