使用post方式提交数据

post提交代码

 1 public class MainActivity extends Activity {
 2
 3     @Override
 4     protected void onCreate(Bundle savedInstanceState) {
 5         super.onCreate(savedInstanceState);
 6         setContentView(R.layout.activity_main);
 7     }
 8
 9     Handler handler = new Handler(){
10         public void handleMessage(android.os.Message msg) {
11             Toast.makeText(MainActivity.this, (String)msg.obj, 0).show();
12         }
13     };
14
15     public void click(View v){
16         EditText et_name = (EditText) findViewById(R.id.et_name);
17         EditText et_pass = (EditText) findViewById(R.id.et_pass);
18
19         final String name = et_name.getText().toString();
20         final String pass = et_pass.getText().toString();
21
22         Thread t = new Thread(){
23             @Override
24             public void run() {
25                 //提交的数据需要经过url编码,英文和数字编码后不变
26                 @SuppressWarnings("deprecation")
27                 String path = "http://192.168.13.13/Web2/servlet/LoginServlet";
28
29                 try {
30                     URL url = new URL(path);
31                     HttpURLConnection conn = (HttpURLConnection) url.openConnection();
32                     conn.setRequestMethod("POST");
33                     conn.setConnectTimeout(5000);
34                     conn.setReadTimeout(5000);
35
36                     //拼接出要提交的数据的字符串
37                     String data = "name=" + URLEncoder.encode(name) + "&pass=" + pass;
38                     //添加post请求的两行属性
39                     conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
40                     conn.setRequestProperty("Content-Length", data.length() + "");
41
42                     //设置打开输出流
43                     conn.setDoOutput(true);
44                     //拿到输出流
45                     OutputStream os = conn.getOutputStream();
46                     //使用输出流往服务器提交数据
47                     os.write(data.getBytes());
48                     if(conn.getResponseCode() == 200){
49                         InputStream is = conn.getInputStream();
50                         String text = Utils.getTextFromStream(is);
51
52                         Message msg = handler.obtainMessage();
53                         msg.obj = text;
54                         handler.sendMessage(msg);
55                     }
56                 } catch (Exception e) {
57                     // TODO Auto-generated catch block
58                     e.printStackTrace();
59                 }
60             }
61         };
62         t.start();
63
64
65
66     }
67
68 }

utils

 1 public class Utils {
 2
 3     public static String getTextFromStream(InputStream is){
 4
 5         byte[] b = new byte[1024];
 6         int len = 0;
 7         //创建字节数组输出流,读取输入流的文本数据时,同步把数据写入数组输出流
 8         ByteArrayOutputStream bos = new ByteArrayOutputStream();
 9         try {
10             while((len = is.read(b)) != -1){
11                 bos.write(b, 0, len);
12             }
13             //把字节数组输出流里的数据转换成字节数组
14             String text = new String(bos.toByteArray());
15             return text;
16         } catch (IOException e) {
17             // TODO Auto-generated catch block
18             e.printStackTrace();
19         }
20         return null;
21     }
22 }
时间: 2024-10-31 10:33:53

使用post方式提交数据的相关文章

苹果微信浏览器不能post方式提交数据问题

form表单中采用post方式提交数据时,在苹果的微信浏览器中无法传递,安卓的可以 如图: 在controller中获取该数据为 null 将表单的提交方式修改为get就能够获取到 现在采用Ajax方式进行提交

JQuery以JSON方式提交数据到服务端

JQuery将Ajax数据请求进行了封装,从而使得该操作实现起来容易许多.以往我们要写很多的代码来实现该功能,现在只需要调用$.ajax()方法,并指明请求的方式.地址.数据类型,以及回调方法等.下面的代码演示了如何将客户端表单数据封装成JSON格式,然后通过JQuery的Ajax请求将数据发送到服务端,并最终将数据存储到数据库中.服务端定义为一个.ashx文件,事实上你可以将服务端定义为任何能接收并处理客户端数据的类型,如Web Service,ASP.NET Page,Handler等. 首

Android 采用post方式提交数据到服务器

接着上篇<Android 采用get方式提交数据到服务器>,本文来实现采用post方式提交数据到服务器 首先对比一下get方式和post方式: 修改布局: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="m

Android 使用Post方式提交数据(登录)

在Android中,提供了标准Java接口HttpURLConnection和Apache接口HttpClient,为客户端HTTP编程提供了丰富的支持. 在HTTP通信中使用最多的就是GET和POST了,GET请求可以获取静态页面,也可以把参数放在URL字符串的后面,传递给服务器.POST与GET的不同之处在于POST的参数不是放在URL字符串里面,而是放在HTTP请求数据中. 本文将使用标准Java接口HttpURLConnection,以一个实例演示如何使用POST方式向服务器提交数据,并

Android(java)学习笔记213:开源框架post和get方式提交数据(qq登录案例)

1.前面提到Http的get/post方式  . HttpClient方式,实际工作的时候不常用到,因为这些方式编写代码是很麻烦的 2.Android应用会经常使用http协议进行传输,网上会有很完善开源框架,已经包装好了http的get/post,还有httpclient等等:这样我们开发周期也会缩短: 3.下面通过一个Android案例来进行,说明常用的Http框架:  在http://github.com/中搜索async http: 这里发现明显第1个android-async-http

Android 采用get方式提交数据到服务器

首先搭建模拟web 服务器,新建动态web项目,servlet代码如下: package com.wuyudong.web; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServlet

【转】JQuery以JSON方式提交数据到服务端

JQuery将Ajax数据请求进行了封装,从而使得该操作实现起来容易许多.以往我们要写很多的代码来实现该功能,现在只需要调用$.ajax()方法,并指明请求的方式.地址.数据类型,以及回调方法等.下面的代码演示了如何将客户端表单数据封装成JSON格式,然后通过JQuery的Ajax请求将数据发送到服务端,并最终将数据存储到数据库中.服务端定义为一个.ashx文件,事实上你可以将服务端定义为任何能接收并处理客户端数据的类型,如Web Service,ASP.NET Page,Handler等. 首

android 76 使用get post方式提交数据

get方式: package com.itheima.getmethod; import java.io.InputStream; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; import java.net.URLDecoder; import java.net.URLEncoder; import com.itheima.htmlviewer.uti

easyui form 方式提交数据

http://ldzyz007.iteye.com/blog/2067540 <form id="ff" method="post">      ...  </form> 1.使用ajax方式提交表单 $('#ff').form({      url:...,      onSubmit: function(){          //进行表单验证          //如果返回false阻止提交      },      success:f

Android学习(49) -- 使用get方式提交数据

get方式提交的数据是直接拼接在url的末尾 final String path = "http://192.168.1.103/Web/servlet/CheckLogin?name=" + name + "&pass=" + pass; 发送get请求,代码和之前一样 URL url = new URL(path); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); co