java根据网址获取网页源码:有两种方法:

这两种方法都只能获取一般网站的源码,对于需要登录,验证,需要证书的网站不行

但是对于get数据传输的的网址,根据get传输数据的特点,所以可以将传入的数据放入url中。

(1)HttpURLConnection不需要导入别的包


import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.HttpURLConnection;
import java.URL;
public class HttpUrlConnectionTest {
	/*
	 * HttpUrlConnection
	 * 根据网址获取网站源码
	 * 只能获取普通网站源码
	 * 需要登录的网站代码获取不到
	 * 
	 * */
	public static void main(String args[]){    
		URL url;
		int responsecode;
		HttpURLConnection urlConnection;
		BufferedReader reader;
		String line;
		try{
			//生成一个URL对象,要获取源代码的网页地址为:http://www.sina
			url=new URL("http://wwwblogs/linjiqin/archive/2012/02/16/2353597.html");
			//打开URL
			urlConnection = (HttpURLConnection)url.openConnection();
			//获取服务器响应代码
			responsecode=urlConnection.getResponseCode();
			if(responsecode==200){
				//得到输入流,即获得了网页的内容 
				reader=new BufferedReader(new InputStreamReader(urlConnection.getInputStream(),"utf-8"));
				while((line=reader.readLine())!=null){
					System.out.println(line);
				}
			}
			else{
				System.out.println("获取不到网页的源码,服务器响应代码为:"+responsecode);
			}
		}
		catch(Exception e){
			System.out.println("获取不到网页的源码,出现异常:"+e);
		}
	}
}

(2)使用jsoup,需要导入jsoup jar包,网上有好多自己下载就行


方法封装:


public static String getHtmlByUrl(String url) throws IOException{
		Document doc2 = Jsoup.connect(url).get();
		return doc2.body().toString();
	}




更多推荐

根据网址获取网页源码(1)