• 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("下载完成");
            }}

  • 相关阅读:
    Windows Azure Web Site (19) Azure Web App链接到VSTS
    Windows Azure Virtual Machine (35) Azure VM通过Linked DB,执行SQL Job
    Azure PowerShell (16) 并行开关机Azure ARM VM
    Windows Azure Virtual Network (12) 虚拟网络之间点对点连接VNet Peering
    Azure ARM (21) Azure订阅的两种管理模式
    Windows Azure Platform Introduction (14) 申请海外的Windows Azure账户
    Azure ARM (20) 将非托管磁盘虚拟机(Unmanage Disk),迁移成托管磁盘虚拟机(Manage Disk)
    Azure ARM (19) 将传统的ASM VM迁移到ARM VM (2)
    Azure ARM (18) 将传统的ASM VM迁移到ARM VM (1)
    Azure Automation (6) 执行Azure SQL Job
  • 原文地址:https://www.cnblogs.com/xiluhua/p/12802659.html
Copyright © 2020-2023  润新知