zoukankan      html  css  js  c++  java
  • get 下载文件

    package com.taiping.demo;
    
    import java.io.ByteArrayOutputStream;
    import java.io.File;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.net.HttpURLConnection;
    import java.net.InetSocketAddress;
    import java.net.Proxy;
    import java.net.URL;
    
    public class HttpRequest {
        /**
         * 从网络Url中下载文件
         * @param urlStr
         * @param fileName
         * @param savePath
         * @throws IOException
         */
        public static void  downLoadFromUrl(String urlStr,String fileName,String savePath,String toekn) throws IOException{
            URL url = new URL(urlStr);
            //HttpURLConnection conn = (HttpURLConnection)url.openConnection();
            InetSocketAddress addr = new InetSocketAddress("10.4.233.50",31151); 
            Proxy proxy = new Proxy(Proxy.Type.HTTP, addr); // http 代理 
            HttpURLConnection conn = (HttpURLConnection) url.openConnection(proxy);
            
            //设置超时间为3秒
            conn.setConnectTimeout(3*1000);
            //防止屏蔽程序抓取而返回403错误
            conn.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)");
            //得到输入流
            InputStream inputStream = conn.getInputStream();
            //获取自己数组
            byte[] getData = readInputStream(inputStream);
    
            //文件保存位置
            File saveDir = new File(savePath);
            if(!saveDir.exists()){
                saveDir.mkdir();
            }
            File file = new File(saveDir+File.separator+fileName);
            FileOutputStream fos = new FileOutputStream(file);
            fos.write(getData);
            if(fos!=null){
                fos.close();
            }
            if(inputStream!=null){
                inputStream.close();
            }
        }
    
        /**
         * 从输入流中获取字节数组
         * @param inputStream
         * @return
         * @throws IOException
         */
        public static  byte[] readInputStream(InputStream inputStream) throws IOException {
            byte[] buffer = new byte[10240];
            int len = 0;
            ByteArrayOutputStream bos = new ByteArrayOutputStream();
            while((len = inputStream.read(buffer)) != -1) {
                bos.write(buffer, 0, len);
            }
            bos.close();
            return bos.toByteArray();
        }
    
        public static void main(String[] args) throws IOException {
               String url = "http://mcp-test-health.pingan.com.cn/gateway/mcp/outChannel/downloadPolicy.do?c=TPJJ_DJ&policyNo=00B4FF31A66043E17D41B67E1B060637C5A3176A9410561D608B509C6AC138C0";
                HttpRequest.downLoadFromUrl(url,"222.pdf","D:\",null);
                System.out.println("下载完成");
    
            }
    }

    package com.taiping.demo;
    import java.io.ByteArrayOutputStream;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.net.HttpURLConnection;import java.net.InetSocketAddress;import java.net.Proxy;import java.net.URL;
    public class HttpRequest {    /**     * 从网络Url中下载文件     * @param urlStr     * @param fileName     * @param savePath     * @throws IOException     */    public static void  downLoadFromUrl(String urlStr,String fileName,String savePath,String toekn) throws IOException{        URL url = new URL(urlStr);        //HttpURLConnection conn = (HttpURLConnection)url.openConnection();        InetSocketAddress addr = new InetSocketAddress("10.4.233.50",31151);         Proxy proxy = new Proxy(Proxy.Type.HTTP, addr); // http 代理         HttpURLConnection conn = (HttpURLConnection) url.openConnection(proxy);                //设置超时间为3秒        conn.setConnectTimeout(3*1000);        //防止屏蔽程序抓取而返回403错误        conn.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)");        //得到输入流        InputStream inputStream = conn.getInputStream();        //获取自己数组        byte[] getData = readInputStream(inputStream);
            //文件保存位置        File saveDir = new File(savePath);        if(!saveDir.exists()){            saveDir.mkdir();        }        File file = new File(saveDir+File.separator+fileName);        FileOutputStream fos = new FileOutputStream(file);        fos.write(getData);        if(fos!=null){            fos.close();        }        if(inputStream!=null){            inputStream.close();        }    }
        /**     * 从输入流中获取字节数组     * @param inputStream     * @return     * @throws IOException     */    public static  byte[] readInputStream(InputStream inputStream) throws IOException {        byte[] buffer = new byte[10240];        int len = 0;        ByteArrayOutputStream bos = new ByteArrayOutputStream();        while((len = inputStream.read(buffer)) != -1) {            bos.write(buffer, 0, len);        }        bos.close();        return bos.toByteArray();    }
        public static void main(String[] args) throws IOException {           String url = "http://mcp-test-health.pingan.com.cn/gateway/mcp/outChannel/downloadPolicy.do?c=TPJJ_DJ&policyNo=00B4FF31A66043E17D41B67E1B060637C5A3176A9410561D608B509C6AC138C0";            HttpRequest.downLoadFromUrl(url,"222.pdf","D:\",null);            System.out.println("下载完成");
            }}

  • 相关阅读:
    CentOS6.0 yum php mcrypt 扩展安装问题
    WordPress入门系列之基本设置
    ./configure 配置文件时出错checking for g++... no
    锐捷硬件防火墙
    CentOS 安装php mcrypt和mbstring的扩展
    (转)在asp.net 2.0中使用SqlBulkCopy类迁移数据
    正则表达式对象&&String对象
    SQL Server 和 SQLite 时间函数汇总
    FreeBSD下nginx并支持php配置详解
    从Ports安装MySQL
  • 原文地址:https://www.cnblogs.com/xiluhua/p/12802659.html
Copyright © 2011-2022 走看看