Java通过代理服务器访问外部网络(二)

2014-11-24 02:09:07 · 作者: · 浏览: 7
ntentLength();
System.out.println(length);
InputStream is
= conn.getInputStream();
byte[] b = new byte[4 * 1024];
is.read(b);
for (int i = 0; i < b.length; i++) {
System.out.print((
char) b[i]);
}
}
catch (IOException e) {
e.printStackTrace();
}

}
}


这样,就可以访问baidu了,不过这段代码我抄别人,需要注意的是解析返回内容那里可能不是很对,这就是个demo版本的。
PS : 如果不加replaceAll方法,会出现:


java.lang.IllegalArgumentException: Illegal character(s) in message header value: Basic Y2FpeGlhbjI6OTYxOTEyNjQ=
at sun.net.www.protocol.http.HttpURLConnection.checkMessageHeader(HttpURLConnection.java:200)
at sun.net.www.protocol.http.HttpURLConnection.setRequestProperty(HttpURLConnection.java:1553)
at src.test.URLTest.main(URLTest.java:23)


Exception in thread "main" 上面提示的错误,按照网上人解释是:


“由于BASE64Encode会在字符多余76个(我也不知道为什么要是76个)的时候在数组尾部添加换行符“\n”,由于这个的原因导致了程序出错。”