HttpURLConnection类有重定向功能,但是好像也不太行 
我想做个下载器。 但是 
http://count.crsky.com/view_down.asp?down_url=http://5.qzdx3.crsky.com/200805/Guardio-v5.05.rar&downd_id=10&ID=20746&SOFTID=6329&down=yes 
像这样的地址,就抓取不到软件的真实地址。 
--------------------------------------------------- 
获取的http信息如下: 
返回的是200。 不知道如何重新向。 
查了点资料,说是如果服务器返回302 Object moved的话,就可以从location中获取下载地址。但是返回了200,不知道怎么弄。 根据getContentType()方法可以返回 类型(如text/html)这样就可以区分出下载的不是所要的文件了。但是,即便知道这样了。如何让URL根据上面的地址重定向呢 
----------------------------------------------------------- 
下面是我用上面的地址返回的http信息 连接中: 
null: HTTP/1.1 200 OK 
Content-Length: 677 
Content-Type: text/html 
Last-Modified: Mon, 09 Apr 2007 13:06:51 GMT 
Accept-Ranges: bytes 
ETag: "283c74f0a77ac71:716" 
Server: Microsoft-IIS/6.0 
Date: Mon, 26 May 2008 14:11:47 GMT 
文件大小为 0K 有谁有这方面的经验的么,谢谢指导。

解决方案 »

  1.   


    private boolean tryRedirect(StringBuffer sb){    String text = sb.toString();//取得页面正文    if(matcher.contains(text,pattern)){//如果匹配表达式成功      MatchResult result = matcher.getMatch();      String url = result.group(2);//取得标签里面的新地址      url = url.trim();      if(url.charAt(url.length()-1)=='\''){        url = url.substring(0,url.length()-1);      }      if(url.charAt(url.length()-1)=='\"'){        url = url.substring(0,url.length()-1);    }      //转换相对地址为绝对地址    currentURL=com.westwind.infogate.util.URLProcess.RelativelyToFull(url,currentURL);    if(currentURL==null)      return false;    currentURL = URLProcess.addHttphead(currentURL);    return true;  } return false;}
      

  2.   

    我这还有一个关于 HttpURLConnection中获得重定向的地址 的代码供你参考。http://java.csdn.net/page/9b207daf-0c31-412f-90a6-e1c7b34d5d80
      

  3.   

    LS的是用Servlet弄的
    这样的话,具体要怎么弄?