• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >Android > 三种POST和GET的提交方式,postget提交

三种POST和GET的提交方式,postget提交

作者:网友 字体:[增加 减小] 来源:互联网 时间:2017-05-26

网友通过本文主要向大家介绍了get与post方式的区别,get方式和post方式,post和get的传输方式,get和post提交的区别,表单提交get和post等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

三种POST和GET的提交方式,postget提交


      向服务器提交数据有两种方式,post和get。两者的区别主要有三点,安全性、长度限制、数据结构。其中get请求安全性相比较而言较差,数据长度受浏览器地址栏限制,没有方法体。两种都是较为重要的数据提交方式。现简单介绍一下三种post和get的提交方式。无论是哪种方法实现post和get,get 的访问路径都要携带数据,而post提交是把数据放在方法体中。

     普通方法实现get/post提交:    

     严格遵照Http协议进行数据传输。在安卓开发环境下,由于主线程不能进行网络访问,因此需要在开启一个子线程向服务器提交数据。为了更加直观的观察数据,可以在程序屏幕上显示服务器反馈信息。又由于子线程无法更改UI界面,因此需要引入Hnndler代理器。实现get/post提交基本步骤就是,获取URL路径,根据路径得到Http连接,用HttpURLConnection对象设置相关的http配置信息、提交方式以及获取反馈码。当响应码为200时表示提交成功,可以通过HttpURLConnection以流的形式获取反馈信息。 

         普通GRT提交方式:

public void load(View view){
		final String qq = et_qq.getText().toString().trim();
		final String pwd = et_pwd.getText().toString().trim();
		if (TextUtils.isEmpty(qq) || TextUtils.isEmpty(pwd)) {
			Toast.makeText(MainActivity.this, "qq号或密码为空", 0).show();
	    	return;
		}
		final String path = "http://192.168.1.114:8080/qqload/qqload?qq=" + qq
				+ "&pwd=" + pwd;
		new Thread() {
			public void run() {
				try {
					URL url = new URL(path);
					HttpURLConnection conn = (HttpURLConnection) url
							.openConnection();
					conn.setRequestMethod("GET");
					conn.setReadTimeout(5000);
					int code = conn.getResponseCode();
					if (code == 200) {
						InputStream is = conn.getInputStream();
						String result = StreamTools.ReadStream(is);
						Message msg = Message.obtain();
						msg.what = SUCCESS;
						msg.obj = result;
						handler.sendMessage(msg);
					} else {
						Message msg = Message.obtain();
						msg.what = ERROR1;
						handler.sendMessage(msg);
					}
				} catch (Exception e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
					Message msg = Message.obtain();
					msg.what = ERROR2;
					handler.sendMessage(msg);
				}
			}
		}.start();
	}

  

         普通POST提交方式:

public void load(View view){
        final String qq = et_qq.getText().toString().trim();
        final String pwd = et_pwd.getText().toString().trim();
        if (TextUtils.isEmpty(qq) || TextUtils.isEmpty(pwd)) {
            Toast.makeText(MainActivity.this, "qq号或密码为空", 0).show();
            return;
        }
        final String path = "http://192.168.1.114:8080/qqload/qqload";
        new Thread() {
            public void run() {
                try {
                    URL url = new URL(path);
                    HttpURLConnection conn = (HttpURLConnection) url
                            .openConnection();
                    conn.setRequestMethod("POST");
                    conn.setReadTimeout(5000);
                    conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
                    String data = "qq="+URLEncoder.encode(qq,"utf-8")+"&pwd=" + URLEncoder.encode(pwd,"utf-8"); 
                    conn.setRequestProperty("Content-Length",String.valueOf(data.length()));
                    conn.setDoOutput(true);
                    conn.getOutputStream().write(data.getBytes());
                    int code = conn.getResponseCode();
                    if (code == 200) {
                        InputStream is = conn.getInputStream();
                        String result = StreamTools.ReadStream(is);
                        Message msg = Message.obtain();
                        msg.what = SUCCESS;
                        msg.obj = result;
                        handler.sendMessage(msg);
                    } else {
                        Message msg = Message.obtain();
                        msg.what = ERROR1;
                        handler.sendMessage(msg);
                    }
                } catch (Exception e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                    Message msg = Message.obtain();
                    msg.what = ERROR2;
                    handler.sendMessage(msg);
                }
            }
        }.start();
    }

 

       用httpclien实现get/post提交的只需要一下几个步骤:

       1.     创建HttpClient对象,实现打开浏览

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 三种POST和GET的提交方式,postget提交

相关文章

  • 2017-05-26Android系统属性简介,android属性简介
  • 2017-05-26Jar mismatch错误的解决,jarmismatch错误
  • 2017-05-26Lambda表达式在Kotlin中怎样工作的:setOnClickListener的转换(KAD 18),180
  • 2017-05-26转载:内存泄露与内存溢出的区别,转载泄露溢出区别
  • 2017-05-26Android 检查手机网络是否可用,android手机
  • 2017-05-26Android基础TOP3:线性布局的特点,常用属性,及权重值,androidtop3
  • 2017-05-26Unity编译时找不到AndroidSDK的问题 | Unable to list target platforms(转载),unityengine.ui找不到
  • 2017-05-26Couldn't load libPassword from loader:NDK开发中C文件编译成cpu的so类库时,找不到类库报错的原因之一,libpasswordndk
  • 2017-05-26在Android Studio中安装OpenCV mac环境/Linux环境
  • 2017-05-26Android开发:消息机制简述

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 4.1.3 Activity登堂入室
    • android浏览器 源码共享,android浏览器源码
    • 安卓学习----使用okHttp(POST方式)---登录,安卓okhttp
    • android 对话框,android
    • Android 检查手机网络是否可用,android手机
    • Android应用程序内存泄漏介绍
    • Android中View的事件分发机制——Android开发艺术探索笔记
    • greendao3.2.3配置时遇到的问题,greendao3.2.3遇到
    • Afinal,afinal框架
    • 关于安卓的一些初步认识,安卓认识

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有