`
zhykhs
  • 浏览: 61747 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

htmlclient 简单使用方法

阅读更多

1.一个根据动态页路径和编码格式获得html格式文本的方法源代码:

Java代码
   1. // 返回html代码  
   2.     public final static String getHtmlCode(String httpUrl, String ecode) {  
   3.         // 构造HttpClient的实例  
   4.         HttpClient httpClient = new HttpClient();  
   5.         // 创建GET方法的实例  
   6.         GetMethod getMethod = new GetMethod(httpUrl);  
   7.         // 使用系统提供的默认的恢复策略  
   8.         getMethod.getParams().setParameter(HttpMethodParams.RETRY_HANDLER,  
   9.                 new DefaultHttpMethodRetryHandler());  
  10.         try {  
  11.             // 执行getMethod  
  12.             int statusCode = httpClient.executeMethod(getMethod);  
  13.             if (statusCode != HttpStatus.SC_OK) {  
  14.                 System.err.println("Method failed: "  
  15.                         + getMethod.getStatusLine());  
  16.             }  
  17.             // 读取内容  
  18.             byte[] responseBody = getMethod.getResponseBody();  
  19.             // 处理内容  
  20.             return new String(responseBody, ecode);  
  21.         } catch (HttpException e) {  
  22.             // 发生致命的异常,可能是协议不对或者返回的内容有问题  
  23.             System.out.println("Please check your provided http address!");  
  24.             e.printStackTrace();  
  25.         } catch (IOException e) {  
  26.             // 发生网络异常  
  27.             e.printStackTrace();  
  28.         } finally {  
  29.             // 释放连接  
  30.             getMethod.releaseConnection();  
  31.         }  
  32.         return null;  
  33.     }  
 2.将html文本写入一个文件中的方法(para1:保存文件名 para2:html文本内容)
   1. public final static void saveHtmlCode(String filePath, String htmlCode) {  
   2.         FileOutputStream fOut = null;  
   3.         OutputStreamWriter out = null;  
   4.         try {  
   5.             fOut = new FileOutputStream(filePath);  
   6.             out = new OutputStreamWriter(fOut, "UTF-8");  
   7.             out.write(htmlCode);  
   8.         } catch (Exception e) {  
   9.             e.printStackTrace();  
  10.         } finally {  
  11.             try {  
  12.                 out.flush();  
  13.             } catch (IOException e) {  
  14.                 e.printStackTrace();  
  15.             }  
  16.             try {  
  17.                 fOut.flush();  
  18.             } catch (IOException e) {  
  19.                 e.printStackTrace();  
  20.             }  
  21.             try {  
  22.                 out.close();  
  23.             } catch (IOException e) {  
  24.                 e.printStackTrace();  
  25.             }  
  26.             try {  
  27.                 fOut.close();  
  28.             } catch (IOException e) {  
  29.                 e.printStackTrace();  
  30.             }  
  31.         }  
  32.     }  
  3.下面是一段伪代码.根据当前时间现在c盘建立要保存文件的文件夹,然后保存文件
# public static void main(String[] args) {  
#         String msgSaveFile = countHtmlFilePath("c://", new Date()) + "/test.html";  
#         String messageHtmlCode = getHtmlCode("test.jsp", "UTF-8");  
#         saveHtmlCode(msgSaveFile, messageHtmlCode);  
#     }  
#       
#     // 获得存储文件的目录  
#     public final static String countHtmlFilePath(String url, Date date) {  
#         SimpleDateFormat sim = new SimpleDateFormat("yyyy-MM-dd-hh");  
#         String time = sim.format(date);  
#         String[] result = time.split("-");  
#         String year = result[0];  
#         String month = result[1];  
#         String day = result[2];  
#         String hour = result[3];   
#         // 首先判断是否有年文件夹  
#         MyFileFilter filter = new TestClass().new MyFileFilter(true);  
#         boolean isExists = filter.isExistsDirectory(url, year + "");  
#         if (isExists) {  
#             if(filter.isExistsDirectory(url + "/" + year, month + "")) {  
#                 if(filter.isExistsDirectory(url + "/" + year + "/" + month, day + "")) {  
#                     if(!filter.isExistsDirectory(url + "/" + year + "/" + month + "/" + hour, hour + "")) {  
#                         new File(url + "/" + year + "/" + month + "/" + day + "/" + hour).mkdir();  
#                     }  
#                 } else {  
#                     new File(url + "/" + year + "/" + month + "/" + day).mkdir();  
#                 }  
#             } else {  
#                 new File(url + "/" + year + "/" + month).mkdir();  
#             }  
#         } else {  
#             new File(url + "/" + year).mkdir();  
#             new File(url + "/" + year + "/" + month).mkdir();  
#             new File(url + "/" + year + "/" + month + "/" + day).mkdir();  
#             new File(url + "/" + year + "/" + month + "/" + day + "/" + hour).mkdir();  
#         }  
#         return url + "/" + year + "/" + month + "/" + day + "/" + hour;  
#     }  
#       
#   
#     class MyFileFilter implements java.io.FileFilter {  
#   
#         private boolean isDirectory;  
#   
#         public MyFileFilter(boolean isDir) {  
#             this.isDirectory = isDir;  
#         }  
#   
#         @Override  
#         public boolean accept(File f) {  
#             if (f.isDirectory() == isDirectory) {  
#                 return true;  
#             } else  
#                 return false;  
#         }  
#           
#         public boolean isExistsDirectory(String path, String dir) {  
#             File file = new File(path);  
#             File[] childFiles = file.listFiles(this);  
#             for (File cFile : childFiles) {  
#                 if(cFile.equals(dir)) {  
#                     return true;  
#                 }  
#             }  
#             return false;  
#         }  
#     } 
 
分享到:
评论

相关推荐

    HtmlClient-3.0.1帮助文档

    HttpClient 是 Apache Jakarta Common 下的子项目,可以用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议 本帮助文档是chm格式,方便使用

    基于SpringBoot+HtmlClient+Jsoup实现java爬取网易云音乐.zip

    SpringBoot通过自动配置、内嵌Servlet容器(如Tomcat或Jetty)以及“起步依赖”使得创建独立的、生产级别的基于Spring的应用变得极其简单。在这个项目中,SpringBoot作为基础框架,提供了一个运行环境,使得开发者...

    HttpClient类包使用方法

    代码有非常详细地注释,下载java相关包可以直接运行,希望能为将要和打算要学习HtmlClient的人提供一些前期的帮助。

    HTML5QQclient:使用HTML5+ API开发的第三方QQ客户端

    课程设计需要做一个安卓APP,我就想起了HBuilder,回来一看,东西更新了不少,还出现了一个MUI框架,这个框架的存在很大程度上决定了我开始使用这一套框架的理由,它集成了一套非常轻便的UI,而且封装了常用的 ,用...

    爬虫的一个程序

    用HtmlClient4.3和HTMLParse 实现爬虫

    Python实现将HTML转换成doc格式文件的方法示例

    本篇文章将详细介绍如何使用 Python 将 HTML 内容转换成 Word(.doc 或 .docx)文档,特别关注于 `htmlparser` 和 `docx` 模块的使用方法。这种方法不仅适用于简单的文本转换,还能处理复杂的格式化问题,包括图片等...

    网络爬虫用堆栈队列贮存url

    这里,我们讨论如何使用堆栈和队列来优化这一过程。 首先,让我们了解一下堆栈和队列这两种数据结构。堆栈是一种后进先出(LIFO)的数据结构,而队列则是先进先出(FIFO)的数据结构。在爬虫中,队列常用来存储待...

    基于htmlparser的ed2k搜索存放mysql的Java工具

    【描述】中提到,该工具的实现依赖于htmlparser和htmlclient。htmlclient可能是一个自定义的HTTP客户端,用于发送请求并接收网页内容,为htmlparser提供原始HTML数据。开发者可能已经编写了自定义的解析逻辑来处理ed...

Global site tag (gtag.js) - Google Analytics