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”,由于这个的原因导致了程序出错。”
|