java中批量下载图片(httpClient)

如题。

java中使用httpClient批量下载图片,代码如下:

import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import org.apache.commons.io.FileUtils;
import org.apache.http.HttpEntity;
import org.apache.http.HttpStatus;
import org.apache.http.client.config.RequestConfig;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
 
 

public class DownloadPicTest {
	
	
	/**
	 * 发送get请求,  下载图片
	 * 
	 * @param url
	 *            路径
	 * @return
	 */
	public static void httpGetImg(CloseableHttpClient client,String imgUrl,String savePath) {
		
		 
		// 发送get请求
		HttpGet request = new HttpGet(imgUrl);
		// 设置请求和传输超时时间
		RequestConfig requestConfig = RequestConfig.custom()
				.setSocketTimeout(50000).setConnectTimeout(50000).build();
		
		//设置请求头
		request.setHeader( "User-Agent","Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/21.0.1180.79 Safari/537.1" );
		
		request.setConfig(requestConfig);
		try {
			CloseableHttpResponse response = client.execute(request);
			
			 if (HttpStatus.SC_OK == response.getStatusLine().getStatusCode()) { 
				  HttpEntity entity = response.getEntity();  
				  
				  InputStream in = entity.getContent();  
				  
				  FileUtils.copyInputStreamToFile(in, new File(savePath));
				  System.out.println("下载图片成功:"+imgUrl);
				 
			 }
			 
		} catch (IOException e) {
			e.printStackTrace();
			throw new RuntimeException(e);
		} finally {
			request.releaseConnection();
			
		}
	}
 
	
	 public static void main(String[] args) {
		 
		 CloseableHttpClient client =null;
		
		 try {
			 client =   HttpClients.createDefault();
			 String  url ="https://picsum.photos/300/150/?image=";
			 String  path="f:/11/img";
			 for(int i=0;i<100;i++){ //下载100张图片 
				 httpGetImg(client,url+i, path+"/"+i+".jpg");
				 System.out.println("ok");
			 }
		} catch (Exception e) {
			e.printStackTrace();
		}finally{
			if(client!=null){
				try {
					client.close();
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
		}
		 
	}
}
 pom.xml 
     <!-- apache io操作通用jar包 -->
		<dependency>
			<groupId>commons-io</groupId>
			<artifactId>commons-io</artifactId>
			<version>2.4</version>
		</dependency>
      
      <!-- httpclient 支持jar -->
	<dependency>
		<groupId>org.apache.httpcomponents</groupId>
	       <artifactId>httpclient</artifactId>
	      <version>4.3.5</version>
	 </dependency>
	  <dependency>
		 <groupId>org.apache.httpcomponents</groupId>
		 <artifactId>httpmime</artifactId>
		 <version>4.3.5</version>
	  </dependency>

运行截图:





猜你喜欢

转载自blog.csdn.net/jasnet_u/article/details/80837229