HttpURLConnection的简单使用

来源:互联网 发布:js杀破狼为什么不给听 编辑:程序博客网 时间:2024/06/06 20:58

在android中除了使用HttpClient接口外,还可以HttpURLConnection抽象类来完成网络请求,而且相比较于HttpClient更简单。

一、使用步骤

1、获取Url对象

URL requrl = new URL(url);

字符串url是要请求的网址
2、通过对象引用requrl获取HttpURLConnection

HttpURLConnection urlConnection = (HttpURLConnection) requrl.openConnection();

3、设置一些请求属性

urlConnection.setRequestMethod("GET");//设置请求方法为geturlConnection.setDoOutput(false);//设置不执行输出操作urlConnection.setConnectTimeout(10 * 1000);//设置连接超时时间urlConnection.setReadTimeout(10 * 1000);//设置读取超时时间               urlConnection.setRequestProperty("Connection", "Keep-Alive");//设置头信息Connection字段值为保持连接             urlConnection.setRequestProperty("Charset", "UTF-8");//设置编码格式urlConnection.setRequestProperty("Accept-Encoding", "gzip, deflate");//设置可接收的压缩方式

4、通过流的方式获取响应数据

InputStream is = null;BufferedReader buffer = null;String result = null;is = uRLConnection.getInputStream();buffer = new BufferedReader(new InputStreamReader(is));StringBuilder strBuilder = new StringBuilder();String line;while ((line = buffer.readLine()) != null) {      strBuilder.append(line);}result = strBuilder.toString();

以上关键方法getInputStream获取输入流,还有为了让代码更健壮,应该先对响应状态码进行判断再进行后续操作
获取响应状态码:

int responseCode=uRLConnection.getResponseCode();

二、总结

类似这种网络请求的操作始终要注意两个点,一个是权限,一个请求操作必须要新开一个线程来实现。

0 0