19. 5. 2. URLConnection.openStream比URL.openStream力量大得狠

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();
		}
	}
}


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值