`
classtwo5367
  • 浏览: 38694 次
  • 性别: Icon_minigender_1
  • 来自: Cork
最近访客 更多访客>>
社区版块
存档分类
最新评论

Android开发中如何执行POST请求

阅读更多
上篇文章我简单描述了在Android开发中如何发送一个Get请求,这篇文章我们探讨下在Android开发中如何执行一个Post请求。

首先我们先了解下Get请求和Post请求的区别:

表单提交中get和post方式的区别有5点
1.get是从服务器上获取数据,post是向服务器传送数据。
2.get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。post是通过HTTPpost机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。
3.对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据。
4.get传送的数据量较小,不能大于2KB。post传送的数据量较大,一般被默认为不受限制。但理论上,IIS4中最大量为80KB,IIS5中为100KB。
5.get安全性非常低,post安全性较高。

那么接下来让我们看看在Android平台开发中如何执行一个Post请求:
String uriAPI = "http://192.168.1.100:8080/test/test.jsp"; //这是我测试的本地,大家可以随意改
        /*建立HTTPost对象*/
        HttpPost httpRequest = new HttpPost(uriAPI); 
        /*
         * NameValuePair实现请求参数的封装
        */
        List <NameValuePair> params = new ArrayList <NameValuePair>(); 
        params.add(new BasicNameValuePair("u", "沈大海")); 
        params.add(new BasicNameValuePair("p", "123")); 
        try 
        { 
          /* 添加请求参数到请求对象*/
          httpRequest.setEntity(new UrlEncodedFormEntity(params, HTTP.UTF_8)); 
          /*发送请求并等待响应*/
          HttpResponse httpResponse = new DefaultHttpClient().execute(httpRequest); 
          /*若状态码为200 ok*/
          if(httpResponse.getStatusLine().getStatusCode() == 200)  
          { 
            /*读返回数据*/
            String strResult = EntityUtils.toString(httpResponse.getEntity()); 
            mTextView1.setText(strResult); 
          } 
          else 
          { 
            mTextView1.setText("Error Response: "+httpResponse.getStatusLine().toString()); 
          } 
        } 
        catch (ClientProtocolException e) 
        {  
          mTextView1.setText(e.getMessage().toString()); 
          e.printStackTrace(); 
        } 
        catch (IOException e) 
        {  
          mTextView1.setText(e.getMessage().toString()); 
          e.printStackTrace(); 
        } 
        catch (Exception e) 
        {  
          mTextView1.setText(e.getMessage().toString()); 
          e.printStackTrace();  
        }  
         ////大家能根据这个代码实现个android用户登陆吗?

分享到:
评论
1 楼 woodn_z 2011-04-12  
String strResult = EntityUtils.toString(httpResponse.getEntity());
为什么我log出来我的都是乱码呢?当然上面uri是改成我自己的了

相关推荐

    Android Studio发起POST网络请求

    本文将详细讲解如何在Android Studio中使用Java语言和JSON数据格式实现POST请求,特别适合初学者学习。 **一、依赖库** 首先,我们需要引入必要的库,如OkHttp或Volley,它们可以帮助我们方便地发送网络请求。这里...

    android的post请求

    在Android开发中,POST请求是常见的网络数据交互方式,它用于向服务器发送数据,比如登录信息、表单数据等。本篇文章将详细讲解如何在Android应用中实现POST请求,获取JSON内容并进行解析。 首先,我们需要引入网络...

    Android中Https请求get和post

    在Android开发中,HTTPS协议是实现安全网络通信的重要方式,主要用来保护数据的传输安全,防止数据被中间人窃取或篡改。本篇将详细讲解Android中如何使用HTTPS进行GET和POST请求。 首先,HTTPS基于SSL/TLS协议,...

    Android总GET/POST请求服务器

    2. POST请求在Android中的实现: 对于POST请求,除了上述两种方式外,还需要设置请求方法并添加请求头。如下所示: ```java URL url = new URL("http://example.com/api"); HttpURLConnection conn = ...

    android原生post请求源码

    在Android开发中,进行网络通信是常见的需求,而POST请求是一种常用的数据提交方式。本教程将深入探讨如何在Android原生环境中实现POST请求,并通过源码解析来理解其工作原理。 首先,Android中的网络操作主要依赖...

    android 的OkHttp3网络的POST和GET请求

    在Android开发中,网络通信是应用与服务器交互的重要方式,OkHttp3是一个高效且功能强大的网络请求库。本文将深入探讨如何使用OkHttp3进行GET和POST请求。 首先,我们来了解一下OkHttp3的基本概念。OkHttp是由...

    Android开发HTTP使用okgo请求数据的实现demo

    在Android应用开发中,与服务器交互是不可或缺的一部分,通常我们会使用HTTP库来处理网络请求。本文将详细讲解如何在Android项目中使用OkGo库来发送HTTP请求并获取数据。OkGo是一个高效的、强大的网络请求库,它基于...

    android发送post请求获取json字符串

    在Android开发中,与服务器进行数据交互是必不可少的,其中HTTP的POST请求是最常见的数据提交方式之一。本篇文章将深入探讨如何在Android应用中发送POST请求,并解析返回的JSON字符串。 首先,我们要理解POST请求的...

    android 后台 get和post请求数据

    在Android开发中,与服务器进行数据交互是必不可少的步骤,主要通过HTTP协议的GET和POST方法来实现。本文将深入探讨这两种方法以及如何在Android后台实现它们。 首先,GET和POST是HTTP协议中最常见的两种请求方法。...

    android 网络请求框架,包涵get,post请求,图片上传,图片上传包涵表单上传,及基于okhttp封装的请求方法

    在Android开发中,网络请求是应用与服务器交互的基础,涵盖了数据获取、数据提交以及资源交换等关键环节。本文将深入探讨一个专为Android设计的网络请求框架,它支持GET、POST请求,具备图片上传功能,并且是基于...

    Android Studio发起GET网络请求

    在Android开发中,获取网络数据是常见的需求,通常我们通过HTTP协议发起GET或POST请求来实现。本教程将详细介绍如何在Android Studio中使用Java编写代码发起GET网络请求,适合初学者学习。 首先,理解GET请求的基本...

    android开发网络请求的几种方式

    本文将详细介绍Android开发中常用的几种网络请求方式,并以GET和POST请求为例进行具体说明。 #### 一、Android网络请求的基础概念 在开始介绍具体的请求方式之前,我们先来了解一些基本概念。 - **HTTP...

    android HttpPost请求连接服务器端的实例

    在Android应用开发中,与服务器进行数据交互是常见的需求,HttpPost是HTTP协议中用于向服务器发送数据的一种方法。本实例将详细介绍如何在...通过这个实例,开发者可以更好地理解和应用网络通信在Android开发中的实践。

    简单的android http请求

    在Android开发中,进行HTTP请求是常见的操作,用于与服务器进行数据交互。本文将深入探讨如何在Android中实现简单的HTTP请求,并解决可能出现的乱码问题。 首先,Android平台提供了多种方式来执行HTTP请求,其中最...

    Android-EasyHttp是一个基于OkHttp封装的KotlinDSL网络请求框架

    总结,EasyHttp是Android开发中的一个强大工具,它将OkHttp的高效与Kotlin的DSL语法相结合,大大简化了网络请求的编写过程,提高了开发效率。对于Android开发者来说,掌握EasyHttp的使用不仅能提升工作效率,还能...

    Retrofit网络请求GET请求POST请求

    Retrofit是Android开发中一款非常流行的网络请求库,由Square公司开发。它通过简洁的API设计,使得网络...通过理解和实践本文中的知识点,你将能够熟练地使用Retrofit处理GET和POST请求,从而提升你的Android开发技能。

    Android WebView通过动态的修改js去拦截post请求参数实例

    4. 在拦截 POST 请求参数时,需要在子线程中执行 shouldInterceptRequest 方法,以免阻塞主线程。 5. 抓包工具可以用于获取用户提交的数据,以便在服务器端进行处理。 应用场景: 1. 在移动应用程序中需要拦截用户...

    Android网络请求

    在Android应用开发中,网络请求是必不可少的一部分,它使得应用程序能够获取远程服务器的数据,实现与互联网的交互。本文将深入探讨Android中常见的网络请求方式,包括HTTPClient、HttpURLConnection和Socket,以及...

    android基础 - POST GET

    在Android开发中,POST和GET是两种主要的HTTP请求方法,用于从服务器获取数据或向服务器发送数据。本文将深入探讨这两种方法的工作原理、应用场景以及如何在Android中实现它们。 一、POST与GET方法的区别 1. 工作...

    Delphi XE10.3三层测试datasnap res+android+httppost

    在Android客户端,我们可以使用HttpURLConnection或第三方库如Volley、Retrofit等来发起POST请求。而在Delphi XE10.3中,我们可以利用TIdHTTPServer组件接收并处理这些POST请求。 在项目中,"app"文件可能包含了...

Global site tag (gtag.js) - Google Analytics