Android开发之获取网页源码

首先,这里我们用到了访问网络的权限,故要在清单文件中加入下列代码

<uses-permission android:name="android.permission.INTERNET"></uses-permission>

然后,根据http协议,要访问服务器上的某个网页,必须先建立一个连接,连接的参数为一个URL

URL url=new URL(“http://www.baidu.com”);

HttpURLConnection connection = (HttpURLConnection) url.openConnection();

然后, //设置请求方式为GET方式,就是相当于浏览器打开百度网页

connection.setRequestMethod("GET");

接着设置超时时间为5秒,5秒内若连接不上,则通知用户网络连接有问题

connection.setReadTimeout(5000);

若连接上之后,得到网络的输入流,内容就是网页源码的字节码

InputStream inStream= connection.getInputStream();

必须将其转换为字符串才能够正确的显示给用户

ByteArrayOutputStream data=new ByteArrayOutputStream();//新建一字节数组输出流

byte[] buffer = new byte[1024];//在内存中开辟一段缓冲区,接受网络输入流

int len=0;

while((len=inStream.read(buffer))!=-1){

data.write(buffer, 0, len); //缓冲区满了之后将缓冲区的内容写到输出流

}

inStream.close();

return new String(data.toByteArray();,”utf-8”);//最后可以将得到的输出流转成utf-8编码的字符串,便可进一步处理

你可能感兴趣的:(Android开发之获取网页源码)