编程实例:
将访问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();
}
}