CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  J2SE / 扩展类

求助高手!!!网页保存!!!

楼主philay()2005-04-01 10:52:39 在 Java / J2SE / 扩展类 提问

我要把一个html页面保存到本地机采用HttpMethod获得url  
  HttpMethod   method   =   new   GetMethod(  
  "http://");  
   
  NameValuePair   param1   =   new   NameValuePair("listInfo1",   "null");  
  NameValuePair   param2   =   new   NameValuePair("listType",   "24");  
  NameValuePair   param3   =   new   NameValuePair("listFile",   "ListByMonthStat");  
  NameValuePair   param4   =   new   NameValuePair("toPage",   "1");  
   
  method.setQueryString(new   NameValuePair[]   {   param1,   param2,   param3,  
  param4   });  
  再用bufferedreader读取保存到本地机  
  BufferedReader   reader   =   new   BufferedReader(new   InputStreamReader(method  
  .getResponseBodyAsStream()));  
  我所读到的地址method.getURI()在ie地址栏中显示正确,但是我保存到本地机后是另外一个页面,是个错误页面,这是为什么啊???? 问题点数:0、回复次数:2Top

1 楼killme2008(为了生态平衡,请保护蛤蟆)回复于 2005-04-02 19:04:37 得分 0

应该是采用http协议来保存吧,下面是别人写的示例,借花礼佛  
  import   java.io.*;  
  import   java.net.*;  
  import   java.util.*;  
  /**  
    *   <p>Title:   个人开发的API</p>  
    *   <p>Description:   将指定的HTTP网络资源在本地以文件形式存放</p>  
    *   <p>Copyright:   Copyright   (c)   2004</p>  
    *   <p>Company:   NewSky</p>  
    *   @author   MagicLiao  
    *   @version   1.0  
    */  
  public   class   HttpGet   {  
      public   final   static   boolean   DEBUG   =   true;//调试用  
      private   static   int   BUFFER_SIZE   =   8096;//缓冲区大小  
      private   Vector   vDownLoad   =   new   Vector();//URL列表  
      private   Vector   vFileList   =   new   Vector();//下载后的保存文件名列表  
      /**  
        *   构造方法  
        */  
      public   HttpGet()   {  
      }  
      /**  
        *   清除下载列表  
        */  
      public   void   resetList()   {  
          vDownLoad.clear();  
          vFileList.clear();  
      }  
      /**  
        *   增加下载列表项  
        *  
        *   @param   url   String  
        *   @param   filename   String  
        */  
      public   void   addItem(String   url,   String   filename)   {  
          vDownLoad.add(url);  
          vFileList.add(filename);  
      }  
      /**  
        *   根据列表下载资源  
        */  
      public   void   downLoadByList()   {  
          String   url   =   null;  
          String   filename   =   null;  
           
          //按列表顺序保存资源  
          for   (int   i   =   0;   i   <   vDownLoad.size();   i++)   {  
              url   =   (String)   vDownLoad.get(i);  
              filename   =   (String)   vFileList.get(i);  
              try   {  
                  saveToFile(url,   filename);  
              }  
              catch   (IOException   err)   {  
                  if   (DEBUG)   {  
                      System.out.println("资源["   +   url   +   "]下载失败!!!");  
                  }  
              }  
          }  
          if   (DEBUG)   {  
              System.out.println("下载完成!!!");  
          }  
      }  
      /**  
        *   将HTTP资源另存为文件  
        *  
        *   @param   destUrl   String  
        *   @param   fileName   String  
        *   @throws   Exception  
        */  
      public   void   saveToFile(String   destUrl,   String   fileName)   throws   IOException   {  
          FileOutputStream   fos   =   null;  
          BufferedInputStream   bis   =   null;  
          HttpURLConnection   httpUrl   =   null;  
          URL   url   =   null;  
          byte[]   buf   =   new   byte[BUFFER_SIZE];  
          int   size   =   0;  
           
          //建立链接  
          url   =   new   URL(destUrl);  
          httpUrl   =   (HttpURLConnection)   url.openConnection();  
          //连接指定的资源  
          httpUrl.connect();  
          //获取网络输入流  
          bis   =   new   BufferedInputStream(httpUrl.getInputStream());  
          //建立文件  
          fos   =   new   FileOutputStream(fileName);  
          if   (this.DEBUG)    
  System.out.println("正在获取链接["   +   destUrl   +   "]的内容...\n将其保存为文件["   +   fileName   +   "]");  
          //保存文件  
          while   (   (size   =   bis.read(buf))   !=   -1)    
              fos.write(buf,   0,   size);  
           
          fos.close();  
          bis.close();  
          httpUrl.disconnect();  
      }  
      /**  
        *   设置代理服务器  
        *  
        *   @param   proxy   String  
        *   @param   proxyPort   String  
        */  
      public   void   setProxyServer(String   proxy,   String   proxyPort)   {  
          //设置代理服务器  
          System.getProperties().put("proxySet",   "true");  
          System.getProperties().put("proxyHost",   proxy);  
          System.getProperties().put("proxyPort",   proxyPort);  
      }  
      /**  
        *   设置认证用户名与密码  
        *  
        *   @param   uid   String  
        *   @param   pwd   String  
        */  
      public   void   setAuthenticator(String   uid,   String   pwd)   {  
          Authenticator.setDefault(new   MyAuthenticator(uid,   pwd));  
      }  
      /**  
        *   主方法(用于测试)  
        *  
        *   @param   argv   String[]  
        */  
      public   static   void   main(String   argv[])   {  
          HttpGet   oInstance   =   new   HttpGet();  
  try   {  
  //增加下载列表(此处用户可以写入自己代码来增加下载列表)  
  oInstance.addItem("http://www.ebook.com/java/网络编程001.zip","./网络编程1.zip");  
  oInstance.addItem("http://www.ebook.com/java/网络编程002.zip","./网络编程2.zip");  
  oInstance.addItem("http://www.ebook.com/java/网络编程003.zip","./网络编程3.zip");  
  oInstance.addItem("http://www.ebook.com/java/网络编程004.zip","./网络编程4.zip");  
  oInstance.addItem("http://www.ebook.com/java/网络编程005.zip","./网络编程5.zip");  
  oInstance.addItem("http://www.ebook.com/java/网络编程006.zip","./网络编程6.zip");  
  oInstance.addItem("http://www.ebook.com/java/网络编程007.zip","./网络编程7.zip");  
  //开始下载  
  oInstance.downLoadByList();  
          }  
          catch   (Exception   err)   {  
              System.out.println(err.getMessage());  
          }  
      }  
  }  
  Top

2 楼ysbcg(Hummer)回复于 2005-04-02 19:20:07 得分 0

可以看看网上的java写的Linux下的下载工具,http://blog.java-cn.com/more.asp?name=regale&id=533Top

相关问题

  • shtml网页保存?
  • 保存网页问题
  • 保存网页的问题
  • 怎么保存xml网页
  • 保存网页文件
  • 保存网页为excel文件
  • twebbrowser控件怎么保存网页?
  • 改版后,如何保存网页?
  • 欲保存网页,请点击"管理"!!!!!!!
  • 怎样保存完整的网页?

关键词

  • 页面
  • 下载
  • vector
  • null
  • namevaluepair
  • 保存
  • vfilelist
  • vdownload
  • 列表
  • bufferedreader

得分解答快速导航

  • 帖主:philay

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo