RT,我现在已知一个文件的URL地址(http协议).
现在我想得到这个文件的相关信息,比如文件的大小.那么我要发送一个请求.
我是这样实现这个功能的:private static DataInfo getDataInfo(URL addr)throws IOException{
        String host =addr.getHost();
        String file =addr.getFile();
        int port =addr.getPort();
        if(port==-1) port =80;
        Socket s =new Socket(host,port);
        PrintStream out =new PrintStream(s.getOutputStream(),false,"gb2312");
        BufferedReader in =new BufferedReader(
                               new InputStreamReader(s.getInputStream(),"gb2312"));
        out.print("HEAD "+file+" HTTP/1.1\r\n");
        out.print("Host: "+host+":"+port+"\r\n");
        out.print("Accept: */*\r\n");
        out.print("Referer: "+addr+"\r\n"); 
        out.print("User-Agent: Mozilla/4.0 (compatible; MSIE 5.00; Windows 98)\r\n");
        out.print("\r\n");
        out.flush();
        String str;
        while((str=in.readLine())!=null){ 
            //解析报文信息
        }
        out.close();
        in.close();
        ...
    }
注意,其中
PrintStream out =new PrintStream(s.getOutputStream(),false,"gb2312");
要指明字符编码,如果这里不正确的话,就会导致服务器不能正确识别请求信息,产生一个
HTTP/1.1 404 Object Not Found
的结果.现在的问题是:我怎样才能知道这个字符编码究竟是什么?