package com.coding.week3.download.impl;
import com.coding.week3.download.api.Connection;
import com.coding.week3.download.api.ConnectionException;
import com.coding.week3.download.api.ConnectionManager;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLConnection;
public class ConnectionManagerImpl implements ConnectionManager {
@Override
public Connection open(String url) throws ConnectionException {
try {
// 统一资源
URL realurl = new URL(url);
// 连接类的父类,抽象类
URLConnection urlConnection = realurl.openConnection();
// http的连接类
HttpURLConnection httpURLConnection = (HttpURLConnection) urlConnection;
// 设定请求的方法,默认是GET
httpURLConnection.setRequestMethod("GET");
httpURLConnection.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)");
// 设置字符编码
httpURLConnection.setRequestProperty("Charset", "UTF-8");
// 打开到此 URL 引用的资源的通信链接(如果尚未建立这样的连接)。
httpURLConnection.connect();
return new ConnectionImpl(httpURLConnection);
} catch (java.io.IOException e) {
e.printStackTrace();
throw new ConnectionException(e.getMessage());
}
}
}