package com.lxzn.framework.utils;
|
|
import java.io.*;
|
import java.net.HttpURLConnection;
|
import java.net.URL;
|
|
/**
|
* @author clown
|
* * @date 2022/10/18
|
*/
|
public class HttpRequest {
|
/**
|
* 从网络Url中下载文件
|
* @param urlStr
|
* @param fileName
|
* @param savePath
|
* @throws IOException
|
*/
|
public static boolean downLoadFromUrl(String urlStr,String fileName,String savePath) throws IOException {
|
//urlStr = "http://localhost:9099/outer/test/download.xhtml";
|
URL url = new URL(urlStr);
|
HttpURLConnection conn = (HttpURLConnection)url.openConnection();
|
//设置超时间为3秒
|
conn.setConnectTimeout(3*1000);
|
//防止屏蔽程序抓取而返回403错误
|
/* conn.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)");
|
conn.setRequestProperty("lfwywxqyh_token",toekn);*/
|
//得到输入流
|
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();
|
}
|
System.out.println("info:"+url+" download success");
|
return true;
|
}
|
|
|
|
/**
|
* 从输入流中获取字节数组
|
* @param inputStream
|
* @return
|
* @throws IOException
|
*/
|
public static byte[] readInputStream(InputStream inputStream) throws IOException {
|
byte[] buffer = new byte[1024];
|
int len = 0;
|
ByteArrayOutputStream bos = new ByteArrayOutputStream();
|
while((len = inputStream.read(buffer)) != -1) {
|
bos.write(buffer, 0, len);
|
}
|
bos.close();
|
return bos.toByteArray();
|
}
|
}
|