android 通过post发送数据 完成客户端登陆模块

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安全性较高。

优酷:http://v.youku.com/v_show/id_XODU1MzExMjUy.html

爱奇艺:http://www.iqiyi.com/w_19rsechp2t.html#vfrm=8-7-0-1

以下是通过post发送数据,完成在客户端登陆模块,当然这得搭建服务器,如果有对服务器不熟悉的同学,可以发送邮件到[email protected],很乐意帮助大家,以下是MainActivity.java,布局文件不再给出;

public class MainActivity extends Activity {

private EditText ed_name;

private EditText ed_password;

private Button btn_login;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

ed_name = (EditText)findViewById(R.id.username);

ed_password = (EditText)findViewById(R.id.upassword);

btn_login = (Button)findViewById(R.id.btn_login);

btn_login.setOnClickListener(new MyButtonListener());

}

class MyButtonListener implements OnClickListener{

@Override

public void onClick(View v) {

String name = ed_name.getText().toString();

String password = ed_password.getText().toString();

PostThread pt = new PostThread(name, password);

pt.start();

}

}

/*登陆成功放回服务器字符

* 登陆失败则放回不了???

*

*/

//post 方法 发送数据到服务器

class PostThread extends Thread{

String name;

String password;

public PostThread(String name, String password) {

super();

this.name = name;

this.password = password;

}

@Override

public void run() {

super.run();

HttpClient httpClient = new DefaultHttpClient();

String url = "http://192.168.191.1:8080/2.5/LoginServlet";

HttpPost httpPost = new HttpPost(url);

//NameValuePair对象,代表了一个需要发往服务器的键值对

NameValuePair pair1 = new BasicNameValuePair("username", name);

NameValuePair pair2 = new BasicNameValuePair("upassword", password);

//使用集合类将其包装起来

ArrayList<NameValuePair> pairs = new ArrayList<NameValuePair>();

pairs.add(pair1);

pairs.add(pair2);

//请求体代表了了请求对象

try {

HttpEntity requestEntity = new UrlEncodedFormEntity(pairs);

//将请求体放置在请求对象中

httpPost.setEntity(requestEntity);

HttpResponse response = httpClient.execute(httpPost);

if(response.getStatusLine().getStatusCode() == 200){

HttpEntity entity = response.getEntity();

BufferedReader reader = new BufferedReader(new InputStreamReader(entity.getContent()));

String reslut = reader.readLine();

System.out.println(reslut);

Log.d("HttpPost","result"+reslut);

}

} catch (Exception e) {

e.printStackTrace();

}

}

}

}

时间: 2024-08-14 10:15:27

android 通过post发送数据 完成客户端登陆模块的相关文章

Android - 向服务器发送数据(GET).

在此,使用HTTP协议,通过GET请求,向服务器发送请求,这种方式适合于数据量小,数据安全性要求不高的情况下. 一,服务器端,使用Servlet. 在服务器端,定义一个HttpServlet的子类,以及一个Filter的子类(用于统一编码,防止出现乱码). package spt.servlet; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.annotation.W

QQ企业通--客户端登陆模块设计---知识点

AutoValidate 枚举  确定控件在失去用户输入焦点时应如何验证其数据. 成员名称 说明 Disable 将不进行隐式验证.设置此值将不会妨碍对 Validate 或 ValidateChildren 的显式调用. EnablePreventFocusChange 当控件失去焦点时发生隐式验证. EnableAllowFocusChange 发生隐式验证,但如果验证失败,焦点仍将更改到新控件.如果验证失败,将不激发 Validated 事件. Inherit 控件从其容器(如窗体或其他控

QQ企业通--客户端登陆模块设计---知识点2

Maximizable 属性               获取一个值,该值指定窗口是否可以最大化. fromBorderstyle 成员名称    说明 None            无边框. FixedSingle 固定的单行边框. Fixed3D         固定的三维边框. FixedDialog 固定的对话框样式的粗边框. Sizable         可调整大小的边框. FixedToolWindow 不可调整大小的工具窗口边框.工具窗口不会显示在任务栏中也不会        

uip UDP 服务器广播模式(客户端可以任意端口,并且主动向客户端发送数据)

目前移植uip,发现UDP 服务器模式下,必须指定本地端口以及客户端端口,否则只能讲客户端端口设置为0,才能接收任意端口的数据,但是无法发送数据,因为此时客户端端口设置为0了,我通过将原始数据包中的客户端端口保存下来,并且在发送的时候将客户端端口替换为指定的端口,发送完成之后又设置为0,这样就实现了向任意客户端端口发送数据. uip.c if(uip_udp_conn->lport != 0 && UDPBUF->destport == uip_udp_conn->lpo

SSH服务器与Android通信(3)--Android客户端发送数据

Android客户端向SSH服务器发送数据主要有三种情况:通过客户端删除数据.添加数据和修改数据. 1.删除数据 先看看jsp文件里面是怎样删除数据的: <td align="center"><a href="clasdelete.action?id=<s:property value='#st.id'/>" onclick="if(!window.confirm('是否删除'))return false;" >

Android系列之网络(三)----使用HttpClient发送HTTP请求(分别通过GET和POST方法发送数据)

[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4006009.html 联系方式:[email protected] [系列]Android系列之网络:(持续更新) Android系列之网络(一)----使用HttpClient发送HTTP请求(通过get方法获取数据) Android系列之网络(二)----HTTP请求头与响应头 Android

从服务器 (PC 端 ) 发送图片到客户端 (android 手机端 ) [转]

从服务器 (PC 端 ) 发送图片到客户端 (android 手机端 ) ,并在手机页面上显示该图片.(注:本文旨在实现功能,并未考虑效率,有待后续跟进.) 1.服务器端 1 int port=9090; 2 3 4 /** 5 * 发送文件的方法 6 * 此处定义服务器端口为9090,ip地址为192.168.1.1 7 * 设定被传输图片的路径为"images/icon.png" 8 * images文件夹放在此工程的根目录下,我们就可以通过相对路径访问这个图片文件了 9 */ 1

Android开发使用GET方式向服务器请求和发送数据

#1.首先先用新建个servlet处理登陆请求 代码如下.只实现了doGet方法 package com.wzw.servlet; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSe

Android开发使用POST方式向服务器请求和发送数据

前面说了GET方式.现在尝试一下POST #1.首先先用新建个servlet处理登陆请求 package com.wzw.servlet; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.Ht