1 防火墙问题
2 编码问题,指定下编码
3 有条件的话到代理服务那里 , tcpDump一下,看看数据包是否正确完整。
4 代理服务器的 对这些方法的处理GET, HEAD, POST, TRACE, DELETE, PUT是否支持
5 超时的问题。帮你看了下源代码
 ret = b[0] == 'H' && b[1] == 'T'
696                    && b[2] == 'T' && b[3] == 'P' && b[4] == '/' &&
697                b[5] == '1' && b[6] == '.';
698            serverInput.reset();
699            if (ret) {

 else if (nread != 8) {
754                if (!failedOnce && requests != null) {
755                    if (httpuc.getRequestMethod().equals("POST") && !retryPostProp) {
756                        // do not retry the request
757                    } else {
758                        failedOnce = true;
759                        closeServer();
760                        cachedHttpClient = false;
761                        openServer();
762                        if (needsTunneling()) {
763                            httpuc.doTunneling();
764                        }
765                        afterConnect();
766                        writeRequests(requests, poster);
767                        return parseHTTP(responses, pi, httpuc);
768                    }
769                }
770                throw new SocketException("Unexpected end of file from server");
}
大致意思了 ,你从代理服务器的response 的第一行不是标准的8个字符HTTP/1.1 200 OK 或者是 HTTP/1.0 200 OK
你自己查一下吧,为什么代理服务器返回的不是以上的信息。
自己 找到本地连接端口 ,dump一下看看

解决方案 »

  1.   

    是第一行就错了,还是说执行到最后错了?(也就是说,while循环里的打印有没有执行)
    如果有打印,猜测会不会是编码的问题?看异常信息提示GBK什么的,而你源码里用的是"UTF-8",换下试试呢。
      

  2.   


    不好意思,给的异常里的那个GBK是我的代码打印出来的。
    这句:System.out.println(Charset.defaultCharset().name());// 看默认Charset是什么发帖的时候,忘记删了。不好意思
      

  3.   


    请问一下,应当如何dump response的信息?有什么工具或方法么?
      

  4.   


    请问一下,应当如何dump response的信息?有什么工具或方法么?
    1 linux 机器tcpdump 命令可以看。
    2 windows 上面的话,可以下载sun.net.www.http.HttpClient这部分的源代码,然后自己断电设置在我帮你看源码的地方,调试一下,看看response到底是什么。winSockExpert,好像也可以试试。
      

  5.   

    我拷贝了下你代码。在我Eclipse里运行了一下。。没报错。。
    然后输出了百度的源码<!DOCTYPE html><!--STATUS OK--><html><head><meta http-equiv="content-type" content="text/html;charset=utf-8"><meta http-equiv="X-UA-Compatible" content="IE=Edge"><link rel="dns-prefetch" href="//s1.bdstatic.com"/><link rel="dns-prefetch" href="//t1.baidu.com"/><link rel="dns-prefetch" href="//t2.baidu.com"/><link rel="dns-prefetch" href="//t3.baidu.com"/><link rel="dns-prefetch" href="//t10.baidu.com"/><link rel="...................................................