本帖最后由 zlq000 于 2010-10-07 16:50:25 编辑

解决方案 »

  1.   

    响应头中Content-Encoding: gzip,应该是用gzip压缩过的,你应该先解压吧。
      

  2.   

    试试输入流解码参考如下~
    InputStream fileStream = new FileInputStream(filename);
    InputStream gzipStream = new GZIPInputStream(fileStream);
    Reader decoder = new InputStreamReader(gzipStream, encoding);
    BufferedReader buffered = new BufferedReader(decoder);
      

  3.   

    怎么这个就行,路过的给点 讲解??
    万分感谢
    public class URL_Reader{

    public static void main(String arg[]) throws IOException{
    URL_Reader ur = new URL_Reader();
    String htmlContent = ur.read();
    System.out.println(htmlContent);
    }

    public String Reader() throws IOException {
    URL login = new URL("http://www.xxx.com/item.htm?id=4773835482&ad_id=&am_id=&cm_id=&pm_id=");
    HttpURLConnection conn1 = (HttpURLConnection) login.openConnection();

    conn1.setRequestMethod("GET");

    conn1.setRequestProperty("Host", "item.taobao.com");
    conn1.setRequestProperty("User-Agent","Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.2.8) Gecko/20100722 Firefox/3.6.8");
    conn1.setRequestProperty("Accept","text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
    conn1.setRequestProperty("Accept-Language","zh-cn,zh;q=0.5");
    conn1.setRequestProperty("Accept-Encoding","gzip,deflate");
    conn1.setRequestProperty("Accept-Charset","GB2312,utf-8;q=0.7,*;q=0.7");
    conn1.setRequestProperty("Keep-Alive","300");
    conn1.setRequestProperty("Connection","keep-alive"); conn1.setDoOutput(true);
    OutputStream os = conn1.getOutputStream();
    //os.write(); InputStream in = login.openStream();
    BufferedReader br = new BufferedReader(new InputStreamReader(in, "gbk"));
    String line;
    String sb = "";
    while ((line = br.readLine()) != null) {
    sb += line+"\n";
    }
    return sb;
    }}