天天看点

王立平--HttpGet()与HttpPost()用法

  • 首先,我们要熟悉Android的HttpGet和HttpPost请求。其中Apache公司已经提供了两个类,叫:HttpGet和HttpPost两个类。两个类的用法不同,不解释贴代码:
  • 1.        使用HttpGet请求Baidu的主页:
  • //使用HttpGet方法,把百度的主页传入
  • HttpGet hettpGet = new HttpGet("http://www.baidu.com/");
  • //使用默认的HttpClient
  • HttpClient hc = new DefaultHttpClient();
  • try {
  • //执行HttpGet方法,并且获取返回的响应
  •         HttpResponse response = hc.execute(hettpGet);
  • //如果响应码为200则表示获取成功,否则为发生错误
  • if (response.getStatusLine().getStatusCode() == 200) {
  • //s就是获得的HTML代码
  •         String s = EntityUtils.toString(response.getEntity());
  •         System.out.println(s);
  • }
  • } catch (ClientProtocolException e) 
  • {
  •         e.printStackTrace();
  •         } catch (IOException e) 
  • {                                            e.printStackTrace();
  •                                 } 

    这样就向百度服务器发送了一个HttpGet请求,请求的是百度的搜索首页,服务器返回来都是Html代码,只是浏览器有解析HTML的功能,将HTML代码转换成所显示的页面,所以,打印出来的都是HTML代码。

  • //使用HttpPost发送请求
  • HttpPost httpPost = new HttpPost(url);        
  • //使用NameValuePaira保存请求中所需要传入的参数
  • List<NameValuePair> paramas = new ArrayList<NameValuePair>();
  •         paramas.add(new BasicNameValuePair("a", "a"));
  •         try {
  • HttpResponse httpResponse;
  • //将NameValuePair放入HttpPost请求体中
  • httpPost.setEntity(new UrlEncodedFormEntity(paramas,
  •                                                         HTTP.UTF_8));
  • //执行HttpPost请求
  • httpResponse = new DefaultHttpClient().execute(httpPost);
  • //如果响应码为200则表示获取成功,否则为发生错误
  • if (httpResponse.getStatusLine().getStatusCode() == 200) {
  • String s = EntityUtils.toString(httpResponse
  •                                                 .getEntity());}
  •                                 } catch (UnsupportedEncodingException e) {
  •                                         // TODO Auto-generated catch block
  •                                         e.printStackTrace();
  •                                 } catch (ClientProtocolException e) {
  •                                         // TODO Auto-generated catch block
  •                                         e.printStackTrace();
  •                                 } catch (IOException e) {
  •                                         // TODO Auto-generated catch block
  •                                         e.printStackTrace();
  •                                 }