上篇文章我简单描述了在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用户登陆吗?
分享到:
相关推荐
一个关于Android客户端请求服务器端代码,涉及到Get/Post请求和Android中android-async-http-master插件的使用。
android 网络请求框架,包涵get,post请求,图片上传,图片上传包涵表单上传,及基于okhttp封装的请求方法
这里介绍了我们在Android开发时几种常见的网络请求方法
15.4.4 再次探讨HttpClient的POST请求 395 15.5 云端应用案例优化 400 本章小结 404 第16章 Google Map和定位服务 405 16.1 MyMap服务系统案例 405 16.2 Android Google Map 406 16.2.1 申请Google Map ...
在Android开发中我们经常会用到网络连接功能与服务器进行数据的交互,为此Android的SDK提供了Apache的HttpClient来方便我们使用各种Http服务.这里只介绍如何使用HttpClient发起GET或者POST请求
Retrofit Okhttp辅助类的简单封装,vesion 1.0.X 实现了Get,Post-Form、Post-Json 三种形式的网络请求,后续版本会实现文件上传下载and各类raw的请求方式。
本文实例为大家分享了android post请求接口demo测试代码,供大家参考,具体内容如下 MainActivity.java package com.tsh.test; import java.io.InputStream; import java.io.OutputStream; import java.io....
通过httppost请求登入教务系统查询成绩并josn解析数据到Android
最开始想到的方案是直接拦截H5中所有的请求: webView.setWebViewClient(new WebViewClient() { @Override public WebResourceResponse shouldInterceptRequest(WebView view, WebResourceRequest request) { ...
基于OkHttp链式调用的网络请求库,支持同步的GET 、POST;异步的GET、POST;
HttpClient工具类,简单轻松的实现get,post,put和delete请求
android开发秘籍完整版清晰版 第1 章 android 概述 1 1.1 android 演化史 1 1.2 android 的两面性 2 1.3 运行android 的设备 2 1.3.1 htc 系列机型 4 1.3.2 摩托罗拉系列机型 4 1.3.3 三星系列机型 4 1.3.4 ...
对OkHttp进行简单的封装,基本实现简单的网络post请求,进行Gson处理,直接返回Bean。文件上传支持多文件和参数一起提交,还有文件下载,都支持进度在UI线程返回
android-async-http是Android上的一个异步、基于回调的HTTP客户端开发包,建立在Apache的HttpClient库上.zip,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
Android客户端请求服务器端的详细解释 1. Android客户端与服务器端通信方式: Android与服务器通信通常采用HTTP通信方式和Socket通信方式,而HTTP通信方式又分get和post两种方式。 2. 解析服务器端返回数据的解释...
该资源实现各种android自定义控件,数据库,动画,多线程文件下载、上传,HTTPPost、get请求数据方式,基本上集成了开发android APP的所有资源;绝对让你不需此行
今天介绍个更简单的方法,我们把异常信息收集后,通过后台发送邮件方法,把相关异常信息发送到我们指定的邮箱里面收集方法主要是把收集的信息通过Http的post请求把相关的异常信息变成请求参数发送到服务器。...
Android中HTTP请求中文乱码解决办法 编码参数 List<NameValuePair> formparams = new ArrayList(); // 请求参数 for (NameValuePair p : params) { formparams.add(p);... // 创建POST请求 HttpPost httppost =
支持GET,POST,PUT,MOVE,COPY,DELETE,HEAD,OPTIONS,TRACE,CONNECT请求; 下载支持301/302重定向,支持设置是否根据Content-Disposition重命名下载的文件; 返回文本内容的请求(默认只启用了GET请求)支持缓存...