zoukankan      html  css  js  c++  java
  • 用Wget进行下载

    wget下载可以不用考虑资源的双向认证的问题,即

    wget -N -S -O " + filePath + " " + urlStr + " --no-check-certificate

    所以java自带的下载方式可能不是所有的资源都能下载,而wget可以,并且wget支持断点续传,默认是20次重复的下载机会。并且下载异常稳定。

    public long download(String urlStr, String filePath){
    String wget = "wget -N -S -O " + filePath + " " + urlStr + " --no-check-certificate";
    log.info("----------执行语句---------" + wget);
    System.out.println(wget);
    Runtime r = Runtime.getRuntime();
    log.info("-------------------------------urlStr------cbj------1" + urlStr);
    Process p = null;
    long fileLength = -1;
    boolean flag = false;
    try {
    p = r.exec(wget);
    final InputStream is1 = p.getInputStream();
    final InputStream is2 = p.getErrorStream();
    BufferedReader br2 = new BufferedReader(new InputStreamReader(is2));
    String line2 = null;
    while ((line2 = br2.readLine()) != null) {
    System.out.println("错误流" + line2);
    if(line2.indexOf("200 OK") != -1){
    flag = true;
    }
    if(line2.indexOf("Content-Length") != -1 && flag){
    fileLength = NumberUtils.toLong(line2.split(":")[1].trim());
    break;
    }
    }
    Task task = new Task(is2);
    executor.submit(task);
    return fileLength;
    }catch(Exception e){
    e.printStackTrace();
    }
    return fileLength;
    }

  • 相关阅读:
    System.Web.Http.Cors配置跨域访问的两种方式
    asp.net反向代理
    web.config SetAttributes
    remove name="ProxyModule“会导致重复执行
    去空格
    api签名
    C# HttpWebRequest获取COOKIES
    Request.Form接收不到post数据.
    webapi文档工具
    https://gogs.io/
  • 原文地址:https://www.cnblogs.com/caobojia/p/5943520.html
Copyright © 2011-2022 走看看