您的位置:首页 > 理论基础 > 计算机网络

【Android 学习笔记】 之 使用HTTP协议访问网络

2014-09-28 09:48 726 查看

使用HTTP协议访问网络

一、使用 HttpUrlConnection

使用步骤:
①、首先是获取 HttpUrlConnection 的实例,一般只需new 出一个URL对象,并传入目标的网络地址,然后调用openConnection()方法即可;
URL url= new URL("http://www.baidu.com");
HttpUrlConnection connection =url.openConnection();
②、然后是设置HTTP请求所使用的方法,"GET"为从服务器获取数据,"POST"为向服务器发送数据;
connection.setRequestMethod("GET");
③、之后再调用getInputStream()方法获取服务器返回的输入流,然后再对输入流进行读取操作;
InputStream in=connection.getInputStream();
④、最后关闭HTTP连接;
connection.disconnection();

二、使用HttpClient

使用步骤:
①、HttpClient 是一个借口,无法创建它的实例,通常情况下是创建DefaultHttpClient 实例
HttpClient httpClient =new DefaultHttpClient();
②、接下来如果要想发送一个GET请求,就创建一个HttpGet对象,并传入目标的网路地址,之后调用HttpClient的execute()方法
HttpGet httpGet=new HttpGet("http://www.baidu.com");
httpClient.execute(httpGet);
③、若要发送一个POST请求:需要创建一个HttpPost对象,并传入目标的网络地址。
HttpPost httpPost=new HttpPost("http://www.baidu.com");
然后通过NameValuePair 集合存放提交的参数,并将这个集合传入UrlEncodeFormEntity中,然后调用HttpPost的setEntity方法传入构建好的UrlEncodeFormEntity,然后同GET一样调用execute()方法
④、调用execute()方法后返回一个HttpResponse对象,通常情况下会取出服务器返回的状态码,如果等于200,就说明响应请求成功
HttpResponse httpResponse = httpClient.execute(httpGet);
if ( httpResponse.getstatusLine().getstatusCode()==200){
..........................................
}
⑤、调用getEntity()方法获取到一个HttpEntity实例,然后再用EntityUtils.toString()方法将httpEntity转化为字符串即可
HttpEntity httpEntity =httpResponse.getEntity();
String content =EntityUtils.toString();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: