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力量大得狠
最新推荐文章于 2022-12-24 21:08:04 发布