根据URL下载网页源代码 本帖最后由 qinfenziqiang 于 2014-10-19 17:34:31 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 看看你的浏览器发出的 HTTP 请求 HEADER 里都有什么,在代码里都加上,尤其是 User-Agent。 HTTP 请求由若干 HEADER 和一个 BODY 组成,HEADER 实际上是一个键值对,比如 Accept-Encoding:gzip,deflate,sdch 表示客户端可以接受 BODY 内容使用 gzip 或 deflate 或 sdch 算法压缩,服务器端就根据这个在响应的时候选择算法对 BODY 进行压缩。User-Agent 的用处是告诉服务器客户端是什么类型的,服务器通过这个可以判断客户端是 FireFox 还是 Chrome,是 Windows 还是 Android,从而返回不同的网页内容。比如在手机上访问同样一个网站显示的内容比 PC 上要少很多,从而达到节省流量及更好地在小屏幕上显示的目的。所以你在浏览器看到的网页和 JAVA 代码得到的网页是不一样的。 最近刚好在用这个,直接上代码,应该是你要的 URL url = new URL("http://www.baidu.com"); HttpURLConnection httpConn = (HttpURLConnection)url.openConnection(); httpConn.setRequestMethod("GET"); InputStreamReader insr = new InputStreamReader(httpConn.getInputStream(),"utf-8"); int respInt = insr.read(); StringBuffer content = new StringBuffer(); while (respInt != -1) { content.append((char) respInt); //System.out.print((char) respInt); respInt = insr.read(); } System.out.println(content); 好的,谢谢,我的目的是通过html爬取html上面的一些连接,如果Java返回的html跟浏览器的有区别,那我不是不能用Java爬取信息了??? 这两行代码输出什么结果? Java中哪些类是不可以被继承的啊?高人给总结下吧.... 请教marker interface的问题,高分悬赏!!! 多线程信息传递 jacob 与 jawin 二者调用dll ocx方面都有哪些不同? 高手看看这个是什么用法? 类的问题!!!! java.util.zip.*中的问题,很奇怪。 java开发的一个很重要的环节--程序结构及代码的优化!请进! 大家都用JAVA来做些什么啊? 关于浮点数相加减的问题 java jni问题
HttpURLConnection httpConn = (HttpURLConnection)url.openConnection();
httpConn.setRequestMethod("GET");
InputStreamReader insr = new InputStreamReader(httpConn.getInputStream(),"utf-8");
int respInt = insr.read();
StringBuffer content = new StringBuffer();
while (respInt != -1) {
content.append((char) respInt);
//System.out.print((char) respInt);
respInt = insr.read();
}
System.out.println(content);