`
shichuang2393
  • 浏览: 7458 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

Android http POST

 
阅读更多
Android通过http协议POST传输方式如下:

方式一:HttpPost(import org.apache.http.client.methods.HttpPost)

代码如下:

private Button button1,button2,button3;
private TextView textView1;

button1.setOnClickListener(new Button.OnClickListener(){        
   @Override
   public void onClick(View arg0) {
    // TODO Auto-generated method stub
    //URLַ
//     String uriAPI = "http://www.dubblogs.cc:8751/Android/Test/API/Post/index.php";
     String uriAPI = "http://172.20.0.206:8082//TestServelt/login.do";
    /*建立HTTP Post连线*/
    HttpPost httpRequest =new HttpPost(uriAPI);
    //Post运作传送变数必须用NameValuePair[]阵列储存
    //传参数 服务端获取的方法为request.getParameter("name")
    List <NameValuePair> params=new ArrayList<NameValuePair>();
    params.add(new BasicNameValuePair("name","this is post"));
    try{
    
    
     //发出HTTP request
     httpRequest.setEntity(new UrlEncodedFormEntity(params,HTTP.UTF_8));
     //取得HTTP response
     HttpResponse httpResponse=new DefaultHttpClient().execute(httpRequest);
    
     //若状态码为200 ok
     if(httpResponse.getStatusLine().getStatusCode()==200){
      //取出回应字串
      String strResult=EntityUtils.toString(httpResponse.getEntity());
      textView1.setText(strResult);
     }else{
      textView1.setText("Error Response"+httpResponse.getStatusLine().toString());
     }
    }catch(ClientProtocolException e){
     textView1.setText(e.getMessage().toString());
     e.printStackTrace();
    } catch (UnsupportedEncodingException e) {
     textView1.setText(e.getMessage().toString());
     e.printStackTrace();
    } catch (IOException e) {
     textView1.setText(e.getMessage().toString());
     e.printStackTrace();
    }
   }
        
        });

方式二:HttpURLConnection、URL(import java.net.HttpURLConnection;import java.net.URL;import java.net.URLEncoder;)

private void httpUrlConnection(){
    try{
     String pathUrl = "http://172.20.0.206:8082/TestServelt/login.do";
     //建立连接
     URL url=new URL(pathUrl);
     HttpURLConnection httpConn=(HttpURLConnection)url.openConnection();
    
     ////设置连接属性
     httpConn.setDoOutput(true);//使用 URL 连接进行输出
     httpConn.setDoInput(true);//使用 URL 连接进行输入
     httpConn.setUseCaches(false);//忽略缓存
     httpConn.setRequestMethod("POST");//设置URL请求方法
     String requestString = "客服端要以以流方式发送到服务端的数据...";
    
     //设置请求属性
    //获得数据字节数据,请求数据流的编码,必须和下面服务器端处理请求流的编码一致
          byte[] requestStringBytes = requestString.getBytes(ENCODING_UTF_8);
          httpConn.setRequestProperty("Content-length", "" + requestStringBytes.length);
          httpConn.setRequestProperty("Content-Type", "application/octet-stream");
          httpConn.setRequestProperty("Connection", "Keep-Alive");// 维持长连接
          httpConn.setRequestProperty("Charset", "UTF-8");
          //
          String name=URLEncoder.encode("黄武艺","utf-8");
          httpConn.setRequestProperty("NAME", name);
         
          //建立输出流,并写入数据
          OutputStream outputStream = httpConn.getOutputStream();
          outputStream.write(requestStringBytes);
          outputStream.close();
         //获得响应状态
          int responseCode = httpConn.getResponseCode();
          if(HttpURLConnection.HTTP_OK == responseCode){//连接成功
          
           //当正确响应时处理数据
           StringBuffer sb = new StringBuffer();
              String readLine;
              BufferedReader responseReader;
             //处理响应流,必须与服务器响应流输出的编码一致
              responseReader = new BufferedReader(new InputStreamReader(httpConn.getInputStream(), ENCODING_UTF_8));
              while ((readLine = responseReader.readLine()) != null) {
               sb.append(readLine).append("\n");
              }
              responseReader.close();
              tv.setText(sb.toString());
          }
    }catch(Exception ex){
     ex.printStackTrace();
    }
   }

分享到:
评论

相关推荐

    android http post/get

    在Android开发中,HTTP通信是应用与服务器交互的重要方式,主要通过POST和GET两种方法进行数据传输。本篇文章将深入探讨Android中如何实现HTTP POST和GET请求,以及相关的上传和下载功能。 首先,GET和POST是HTTP...

    Android HttpPost方式获取网页图片

    本主题聚焦于如何利用HttpPost方法在Android中获取网页图片。这个简单的工程演示了如何实现这一功能,使得开发者能够更好地理解和应用网络请求来下载图片。 首先,我们需要引入必要的库。在Android项目中,通常使用...

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

    在Android应用开发中,与服务器进行数据交互是常见的需求,HttpPost是HTTP协议中用于向服务器发送数据的一种方法。本实例将详细介绍如何在Android环境中使用HttpPost请求连接服务器,并处理相关的异常情况,如网络...

    android http协议编程 post

    本文将深入探讨如何在Android中实现HTTP POST请求,以完成数据提交的操作。 HTTP POST方法是HTTP协议中的一种请求类型,常用于向服务器发送数据。POST请求将数据封装在请求正文中,与GET请求不同,GET请求的数据...

    android Http Post 连接服务器超时Demo

    new Thread(new Runnable() { public void run() { // TODO Auto-generated method stub try { //设置连接超时 HttpParams httpParameters = new BasicHttpParams(); int timeoutConnection = 3000;...

    android 平台 Http ge和post请求工具

    简单方便的android 端http get 和post 请求 测试端口数据用

    AndroidHttpPost:Android Http Post 演示

    在Android开发中,网络通信是应用与服务器交互的重要方式之一,`HttpPost`是其中一种常见的HTTP请求方法。本文将深入探讨`AndroidHttpPost`在Android应用中的实现和使用,以及与其相关的Java编程技术。 首先,`...

    android httpclient文件上传 http协议post get方法向服务器传输数据

    在Android中,使用HTTPClient进行POST请求时,可以通过`HttpPost`对象设置`EntityEnclosingRequestBase`的`setEntity()`方法来添加请求实体,包含要发送的数据。 3. **HTTPClient文件上传**:在Android中,...

    Android Studio发起POST网络请求

    在Android应用开发中,发起POST网络请求是与服务器交互的重要环节。Android Studio作为官方推荐的集成开发环境(IDE),提供了丰富的工具和库来简化这一过程。本文将详细讲解如何在Android Studio中使用Java语言和...

    android的post请求

    HttpPost httpPost = new HttpPost("http://your-api-url.com"); List&lt;NameValuePair&gt; nameValuePairs = new ArrayList(2); nameValuePairs.add(new BasicNameValuePair("key1", "value1")); nameValuePairs....

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

    总结一下,这个"Delphi XE10.3三层测试datasnap res+android+httppost"项目展示了如何在Delphi环境下,利用三层架构和DataSnap构建一个Android应用程序,通过HTTP POST与服务器进行数据交互。这个过程涵盖了客户端的...

    HttpTest Get与Post示例

    本教程将深入探讨如何在Android中使用HTTP GET和POST方法进行网络请求,通过一个实际的HttpTest示例来阐述相关知识。 一、HTTP GET与POST的区别 1. GET:主要用来获取资源,它是幂等的,即多次执行同一个GET请求,...

    Android httpUrlConnection Post方式访问网络简单demo

    在Android开发中,HTTP请求是应用与服务器交互的重要方式之一,`HttpURLConnection`是Java标准库提供的一种HTTP客户端API,适合用于发送POST请求。在这个"Android httpUrlConnection Post方式访问网络简单demo"中,...

    android原生post请求源码

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

    android基础 - POST GET

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

    Android使用httpPost向服务器发送请求的方法

    本文将详细介绍如何在Android应用中使用`HttpPost`向服务器发送请求,以及相关操作技巧。 首先,确保在Android项目中引入了Apache HTTP库。在`build.gradle`文件中添加以下依赖: ```gradle dependencies { ...

    android利用httppost实现和服务器的通讯

    本篇主要介绍如何在Android应用中使用HttpPost实现与服务器的通信,以及涉及到的相关技术点。 首先,我们需要理解Android网络访问的基本规则。Android系统对网络操作进行了严格的限制,所有网络请求必须在主线程...

    android采用post方式获取服务器数据

    3. 将键值对数组封装成UrlEncodedFormEntity,然后设置到HttpPost对象的Entity中。 4. 执行HttpPost请求,获取服务器返回的HttpResponse对象。 5. 处理服务器返回的响应。 根据给定内容,我们可以构建一个通用的...

    android post上传文件

    HttpPost httpPost = new HttpPost("http://yourserver.com/upload"); ``` 上传文件的关键在于构造合适的Entity对象。我们使用MultipartEntityBuilder来创建一个多部分实体,它可以包含多个部分,如文件和文本数据...

    android webview模拟网页post操作

    下面将详细介绍如何在Android应用中使用WebView组件来模拟POST请求。 ### 一、理解WebView的postUrl方法 在给出的代码示例中,`WebLogin`类继承自`Activity`,并在`onCreate`方法中初始化了一个WebView实例,并...

Global site tag (gtag.js) - Google Analytics