package com.coderising.download.impl; import java.net.HttpURLConnection; import java.net.URL; import com.coderising.download.api.ConnectionException; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.coderising.download.api.Connection; import com.coderising.download.api.ConnectionManager; import com.google.common.base.Preconditions; public class ConnectionManagerImpl implements ConnectionManager { private static final Logger LOGGER = LoggerFactory.getLogger(ConnectionManagerImpl.class); @Override public Connection open(String url) throws ConnectionException { Preconditions.checkArgument(StringUtils.isNoneBlank(url), "非法链接"); Connection connection = new ConnectionImpl(); try { URL link = new URL(url); HttpURLConnection conn = (HttpURLConnection) link.openConnection(); conn.setReadTimeout(5000); conn.setRequestMethod("GET"); connection.build(conn); } catch (Exception e) { LOGGER.error("连接打开失败"); } return connection; } @Override public Connection open(String url, int start, int end) { Preconditions.checkArgument(StringUtils.isNoneBlank(url), "非法链接"); Connection connection = new ConnectionImpl(); try { URL link = new URL(url); HttpURLConnection conn = (HttpURLConnection) link.openConnection(); conn.setReadTimeout(5000); conn.setRequestMethod("GET"); System.out.println("bytes=" + start + "-" + end); conn.setRequestProperty("Range", "bytes=" + start + "-" + end); connection.build(conn); } catch (Exception e) { LOGGER.error("链接打开失败"); } return connection; } }