import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.util.List;
import java.util.Map;
import java.util.Set;
//19. 5. 2. URLConnection.openStream is more powerful than URL.openStream
//URLConnection.openStream比URL.openStream用途多得狠!
public class URLConnectiontest1 {
public static void main(String[] args) {
try{
URL url = new URL("http://www.baidu.com/");//网址
URLConnection urlConnection = url.openConnection();//打开一个连接
//getHeaderFields()返回头字段的不可修改的 Map。Map 键是表示 response(响应)-header 字段名称的 String。
//每个 Map 值为一个不可修改的 String 的列表,它们代表相应的字段值。
Map<String, List<String>> headers = urlConnection.getHeaderFields();
//Map.Entry<K,V>映射项(键-值对)。headers.entrySet()返回此映射中包含的映射关系的 Set 视图
//Set 一个不包含重复元素的 collection。Set<E> E: - 此 set 所维护元素的类型
Set<Map.Entry<String, List<String>>> entrySet = headers.entrySet();
for(Map.Entry<String, List<String>> entry : entrySet){
String headerName = entry.getKey();//对应的键
System.out.println("header Name: " + headerName);
List<String> headerValues = entry.getValue();
for(String value : headerValues){
System.out.print("Header Value:" + value);
}
System.out.println();
System.out.println();
}
InputStream inputStream = urlConnection.getInputStream();//打开的连接读取的输入流。
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
String line = bufferedReader.readLine();
while(line != null){
System.out.println(line);
line = bufferedReader.readLine();
}
bufferedReader.close();
}catch(MalformedURLException e){//Malformed:畸形的。错误URL的异常
e.printStackTrace();
}catch(IOException e){
e.printStackTrace();
}
}
}
19. 5. 2. URLConnection.openStream比URL.openStream力量大得狠
最新推荐文章于 2021-07-11 19:54:34 发布