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 }

原文地址:https://www.cnblogs.com/csh520mjy/p/11155895.html

时间: 2024-08-03 20:05:35

Java将网页上的js下载下来。的相关文章

java读取网页图片路径并下载到本地

最近公司需要爬取一些网页上的数据,自己就简单的写了一个demo,其中有一些数据是图片,需要下载下来到本地并且 将图片的路径保存到数据库,示例代码如下: package com.cellstrain.icell.util; import java.io.File;import java.io.FileOutputStream;import java.io.InputStream;import java.io.OutputStream;import java.net.URL;import java.

Java 利用FTP上传,下载文件,遍历文件目录

Java实现FTP上传下载文件的工具包有很多,这里我采用Java自带的API,实现FTP上传下载文件.另外JDK1.7以前的版本与其之后版本的API有了较大的改变了. 例如: JDK1.7之前 JDK1.7 ftpClient = new FtpClinet() ftpClient = FtpClient.create(ip) ftpclient.login(user,password) ftpclient.login(user,null,password) ftpclient.binary()

java的文件上传和下载

在Web应用系统开发中,文件上传和下载功能是非常常用的功能,今天来讲一下JavaWeb中的文件上传和下载功能的实现. 对于文件上传,浏览器在上传的过程中是将文件以流的形式提交到服务器端的,如果直接使用Servlet获取上传文件的输入流然后再解析里面的请 求参数是比较麻烦,所以一般选择采用apache的开源工具common-fileupload这个文件上传组件.这个common- fileupload上传组件的jar包可以去apache官网上面下载,也可以在struts的lib文件夹下面找到,st

java实现文件上传和下载

写在前面 [文件上传和下载]是很多系统必备功能, 比如PM\OA\ERP等:系统中常见的开发模式有B/S和C/S,而前者主要是通过浏览器来访问web服务器,一般采用七层协议中的[应用层http]进行数据传输,后者主要通过编程语言开发的app作为客户端来访问服务端,一般采用七层协议中的[传输层tcp]进行数据传输. 文章主要完成简单java web涉及的文件上传和下载功能. 正文 1. java原生servlet实现: pom.xml配置: <dependency> <groupId>

JAVA SFTP文件上传、下载及批量下载

1.jsch官方API查看地址(附件为需要的jar) http://www.jcraft.com/jsch/ 2.jsch简介 JSch(Java Secure Channel)是一个SSH2的纯Java实现.它允许你连接到一个SSH服务器,并且可以使用端口转发,X11转发,文件传输等,当然你也可以集成它的功能到你自己的应用程序. SFTP(Secure File Transfer Protocol)安全文件传送协议.可以为传输文件提供一种安全的加密方法.SFTP 为 SSH的一部份,是一种传输

在手机网页上模拟 js 控制台

在手机上模拟 console  做一些简单代码调试 在工作机上编辑好代码用QQ 之类的工具传到 手机上在调试当然你也可以尝试用一只手指写代码的壮举 /**** mobiDebuggerHelper.js by cnblogs.com/ecalf *****/ var mobiDebug = { init:function(lauch){ var holder = document.createElement('div'); var toolbar = document.createElement

Web_telnet 通过JAVA实现网页上面的命令行远程工具 以及对于流的理解

前言 这几天研究了一下如何在web页面上通过telnet 连接一个远程的机器,通过命令行进行控制,让然,B/S架构的项目,如果直接通过 浏览器是无法和远程机器进行通信的,我们就得借助后端来帮助实现这样的一个功能需求,具体的实现逻辑是: 用户————>控制浏览器命令行界面————>发送命令到后端服务器————>后端服务器连接socket————>推送用户的命令 telnet Server ————>后端服务器输入流接受返回字符——————>websocket 推送到前端完

Java 文件上传与下载、email

1. 文件上传与下载 1.1 文件上传 文件上传,要点: 前台: 1. 提交方式:post 2. 表单中有文件上传的表单项: <input type="file" /> 3. 指定表单类型: 默认类型:enctype="application/x-www-form-urlencoded" 文件上传类型:multipart/form-data 手动实现文件上传 <body> <form name="frm_test" 

java头像裁剪上传

原文:java头像裁剪上传 源代码下载地址:http://www.zuidaima.com/share/1550463771118592.htm jsp页面实现头像裁剪上传,带进度条,后台java接收 上传成功后