OkHttpClient同步下载文件与访问http

笔记,使用ok http下载文件版本为3.1

public class DownUtil {

    private Logger logger = LoggerFactory.getLogger(this.getClass());

    private OkHttpClient okHttpClient;

    private boolean canDownLoad = true;

    public boolean downFile(String downUrl, String downPath){
        try{
            long timeStart = System.currentTimeMillis()/1000;
            okHttpClient=new OkHttpClient();
            Request request = new Request.Builder().url(downUrl).build();
            Response response = okHttpClient.newCall(request).execute();
            InputStream is;
            is = response.body().byteStream();
            FileOutputStream fos=null;
            fos = new FileOutputStream(downPath);
            int len;
            byte[] bytes = new byte[4096];
            while ((len = is.read(bytes)) != -1&&canDownLoad) {
                fos.write(bytes, 0, len);
            }
            fos.flush();
            is.close();
            fos.close();
            long timeEnd = System.currentTimeMillis()/1000;
        }catch (Exception ex){
            return  false;
        }
        if(canDownLoad)
            return true;
        return  false;
    }

    //超时关闭下载
    public void closeDownLoadStream(){
        canDownLoad = false;
    }
   //http下载数据
    public String getHttp(String url){
        try{
            OkHttpClient client = new OkHttpClient();
            Request request = new Request.Builder()
                    .url(url)
                    .get()
                    .removeHeader("User-Agent")
                    .addHeader("User-Agent","Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.118 Safari/537.36 ApiMaxJia/1.0")
                    .addHeader("Referer","http://api.maxjia.com/")
                    .header("Cookie","phone_num=0101010101010101010101")
                    .build();
            client.setConnectTimeout(10, TimeUnit.SECONDS);
            Response response = client.newCall(request).execute();
            if (response.isSuccessful()){
               return response.body().string();
            }
        }catch (Exception ex){

        }
        return null;
    }	

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值