java中如何根据一个网址获得该网页的源代码?

Python016

java中如何根据一个网址获得该网页的源代码?,第1张

package test

import java.io.BufferedReader

import java.io.InputStreamReader

import java.net.HttpURLConnection

import java.net.URL

public class HttpTest {

private String u

private String encoding

public static void main(String[] args) throws Exception {

HttpTest client = new HttpTest("http://www.baidu.com/", "UTF-8")

client.run()

}

public HttpTest(String u, String encoding) {

this.u = u

this.encoding = encoding

}

public void run() throws Exception {

URL url = new URL(u)// 根据链接(字符串格式),生成一个URL对象

HttpURLConnection urlConnection = (HttpURLConnection) url

.openConnection()// 打开URL

BufferedReader reader = new BufferedReader(new InputStreamReader(

urlConnection.getInputStream(), encoding))// 得到输入流,即获得了网页的内容

String line// 读取输入流的数据,并显示

while ((line = reader.readLine()) != null) {

System.out.println(line)

}

}

}

根据具体问题类型,进行步骤拆解/原因原理分析/内容拓展等。

具体步骤如下:/导致这种情况的原因主要是……

1.编写useSourceViewer 类的基本框架,该类仅包括无返回值的main ()方法,该方法从参数中获取URL,通过输入缓冲和输出缓冲将该URL 原码输出。

2.编写useSourceViewer 类,代码如下:

import java.net.*

import java.io.*

public class useSourceViewer

{

public static void main (String[] args)

{

if (args.length >0)

{

try

{

//读入URL

URL u = new URL(args[0])

InputStream in = u.openStream( )

// 为增加性能存储输入流

in = new BufferedInputStream(in)

// 将输入流连接到阅读器

Reader r = new InputStreamReader(in)

int c

while ((c = r.read( )) != -1)

{

System.out.print((char) c)

}

Object o = u.getContent( )

System.out.println("I got a " + o.getClass().getName( ))

}

catch (MalformedURLException e)

{

System.err.println(args[0] + " is not a parseable URL")

}

catch (IOException e)

{

System.err.println(e)

}

} // end if

} // end main

} // end SourceViewer}