编程实例:将访问www.google.com站点的http请求消息的Accept-Language头分别设置成日文和中文后,然后打印出www.google.com站点返回的所有响应消息头和网页内容package URL;import java.net.*;import java.util.*;import java.io.*;public class Getgoole {
/** * @param args */ public static void main(String[] args) throws Exception{ // TODO Auto-generated method stub System.out.println("获取日文页面"); getContentByLanguage("ja"); System.out.println("/n"); System.out.println("获取中文页面"); getContentByLanguage("zh-cn"); } public static void getContentByLanguage(String country) throws Exception{ URL urlgoogle=new URL("http://www.google.com"); HttpURLConnection googleConnection=(HttpURLConnection)urlgoogle.openConnection(); googleConnection.setRequestProperty("Accpet-Language", country); //返回结果为Map集合 Map request=googleConnection.getRequestProperties(); //返回映射中包含的键Set视图 Set reqFields=request.keySet(); //Iterator迭代器是一个对象,它的工作是遍历并选择序列中的对象,客户端程序员 //不关心序列底层的结构。 Iterator itrReq=reqFields.iterator(); while(itrReq.hasNext()){ String field=(String) itrReq.next(); System.out.println(field+":"+ googleConnection.getRequestProperty(field)); } googleConnection.connect(); Map responses=googleConnection.getHeaderFields(); Set resFields=responses.keySet(); Iterator itrRes=resFields.iterator(); while(itrRes.hasNext()){ String field=(String) itrRes.next(); System.out.println(field+":"+ googleConnection.getHeaderField(field)); } InputStream is=googleConnection.getInputStream(); BufferedReader br=new BufferedReader(new InputStreamReader(is)); String str=null; while((str=br.readLine())!=null){ System.out.println(str); } br.close(); googleConnection.disconnect(); }
}
