`
zfzaizheli
  • 浏览: 45894 次
  • 性别: Icon_minigender_2
  • 来自: 上海
社区版块
存档分类
最新评论

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();
    }
   }

转自:http://chunpeng.iteye.com/blog/631972
分享到:
评论

相关推荐

    老罗Android视频开发教程 android之http协议编程代码

    HTTP(超文本传输协议)是互联网上应用最为广泛的一种网络协议,用于从万维网服务器传输超文本到本地浏览器的传输协议。在Android应用中,我们通常使用HTTP协议来获取网页数据、下载文件或者发送用户数据到服务器。 ...

    android http协议编程 post

    Android提供了多种方式来执行HTTP POST请求,包括使用`HttpURLConnection`、`HttpClient`(已废弃)以及第三方库如Volley、OkHttp等。这里我们主要讨论使用`HttpURLConnection`的实现步骤: - 首先,需要创建一个...

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

    在Android开发中,HTTPClient是常用的网络通信库,它提供了HTTP协议的支持,允许应用程序通过POST和GET方法向服务器传输数据。本项目中的四个知识点聚焦于HTTPClient的使用,特别是文件上传以及HTTP的基本请求方法。...

    android之http协议编程)第三集hjava_http_post.zip

    在Android中,我们可以通过多种方式实现HTTP POST请求。一种常见的方式是使用HttpURLConnection类,它是Java标准库的一部分,适用于Android。以下是一个简单的使用HttpURLConnection进行POST请求的例子: 1. 首先,...

    android利用http协议把网页内容下载到指定文件夹

    在Android平台上,将网页内容通过HTTP协议下载到指定文件夹是一项常见的任务,尤其在离线浏览、数据缓存或者后台更新资源的场景中。HTTP(超文本传输协议)是互联网上应用最为广泛的一种网络协议,它允许客户端(如...

    老罗android视频开发源码和ppt--android之http协议编程.rar

    HTTP(超文本传输协议)是互联网上应用最为广泛的一种网络协议,用于从万维网服务器传输超文本到本地浏览器的传输协议。在Android应用中,HTTP主要用于发送请求获取服务器上的数据,如JSON或XML格式的数据,或者上传...

    Android中通过HTTP协议实现网络通信文件上传案例

    以上就是Android中通过HTTP协议实现文件上传的基本步骤。在实际应用中,还应考虑错误处理、进度显示、异步任务执行(如使用AsyncTask)等细节,以提供更好的用户体验。在“newsmanage”和“videonews”这两个文件中...

    Android中http协议上传文件

    这种方式通过URL传递参数,简单直观但不安全且不适合大数据量传输。 ```java // 假设URL为:http://example.com/upload?title=MyTitle&timelength=60 String path = "http://example.com/upload"; Uri.Builder ...

    Android中通过GET和POST方式以及使用HttpClient框架通过网络通信提交参数给web应用案例

    在Android开发中,网络通信是应用与服务器交互的重要手段,GET和POST是HTTP协议中最常见的两种请求方法。本文将深入探讨如何在Android中利用这两种方式以及HttpClient框架来提交参数给Web应用。 首先,GET和POST的...

    android通过HTTP协议上传文件至远程服务器

    总结,Android通过HTTP协议上传文件至远程服务器涉及到客户端的文件读取、HTTP请求构建与执行,以及服务器端的接收、处理和存储。理解这一过程对于进行Android应用开发至关重要,尤其是涉及到用户数据交互的场景。

    android手写Http协议上传文件

    "android手写Http协议上传文件"这个主题就是关于如何利用Socket编程实现一个简单的HTTP协议来上传本地文件到服务器的过程。下面将详细讲解这个过程涉及的关键知识点。 1. **HTTP协议基础**: HTTP(超文本传输协议...

    android http协议 网络编程 经典完整代码

    HTTP(超文本传输协议)是互联网上应用最广泛的一种网络协议,它定义了客户端(如Android应用)和服务器之间的通信格式。本篇文章将深入探讨如何在Android中进行HTTP协议的网络编程,并以`HttpTestActivity.java`为...

    android中的Http(一)Http协议基础 源码

    在Android开发中,网络通信是不可或缺的一部分,而HTTP(超文本传输协议)是最常见的网络通信协议之一。本篇文章将深入探讨Android中使用HTTP的基础知识,包括HTTP协议的基本原理以及源码解析。 首先,理解HTTP协议...

    Adnroid http协议与数据传输 Jar包

    "Adnroid http协议与数据传输 Jar包" 提供了一种方便的方式来实现Android客户端与Java Server Pages (JSP) 服务器端的数据交换。这个Jar包的核心功能是简化HTTP POST请求,使得开发者可以更高效地处理数据提交。 ...

    android 文件传输 http

    在Android平台上进行文件传输时,HTTP(超文本传输协议)是一种常见的选择,尤其适用于移动设备间的文件共享或者从服务器下载/上传数据。HTTP基于TCP/IP协议栈,它为应用程序提供了简单且灵活的数据交换方法。本篇...

    老罗Android视频http协议开发包

    总之,老罗的Android视频http协议开发包为开发者提供了一个实战平台,通过学习和实践,开发者可以深入理解HTTP协议在Android应用中的应用,提升网络编程能力。同时,掌握好HTTP协议也是开发任何网络应用的基础,无论...

    Android通过POST和GET向服务器发送数据

    通常,我们使用HTTP协议的两种主要方法:POST和GET来传输数据。本文将详细讲解如何在Android中实现这两种方法,并讨论使用普通HTTP协议和Android内置的HttpClient库的区别。 1. **POST方法**: - POST请求常用于...

    android httpget post

    在Android开发中,HTTP协议是应用层中广泛使用的通信协议,用于客户端(通常是移动应用程序)与服务器之间的数据交互。GET和POST是HTTP协议中最常见的两种请求方法,它们各自有不同的应用场景和特性。 首先,我们来...

    Android登陆get方式和post方式

    在Android中实现GET和POST方式登录,通常会用到`HttpURLConnection`或第三方库如`OkHttp`。以下是一个简单的`OkHttp` POST请求示例: ```java OkHttpClient client = new OkHttpClient(); FormBody.Builder builder...

    Android中Https请求get和post

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

Global site tag (gtag.js) - Google Analytics