post方式请求数据
post方式请求数据

分析:
1、将请求方式改成post
conn.setRequestMethod("POST");
2、设置连接可以输出
conn.setDoOutput(true);
3、告诉服务器客户端提交的数据类型(表单数据)
conn.setRequestProperty("Content-Type","application/x-www-form-urlencoded;charset=utf-8");
application/x-www-form-urlencoded代表表单数据
如果是别的数据,这个部分是不同的,比如文件或者音频视频的二进制数据
4、创建输出流,给服务器写数据
OutputStream output=conn.getOutputStream();
output.write("username=老师".getBytes("UTF-8"));
output.close();
故服务器会受到老师这两个字
package com.example.htmldaimachakanqi; import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.UnsupportedEncodingException;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL; import android.app.Activity;
import android.os.AsyncTask;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.EditText; public class MainActivity extends Activity {
private EditText et_content; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
et_content = (EditText) findViewById(R.id.et_content);
} public void onClick(View view) throws UnsupportedEncodingException {
new AsyncTask<String, Void, String>() {
@Override
protected String doInBackground(String... params) {
StringBuffer buffer=new StringBuffer();
try {
Log.d("bh", params[0]);
// 封装了URL对象
URL url = new URL(params[0]);
// 获取http连接对象
HttpURLConnection conn = (HttpURLConnection) url
.openConnection();
// 设置请求的方式
conn.setRequestMethod("POST");
// 设置请求的超时时间
conn.setReadTimeout(5000);
conn.setConnectTimeout(5000);
//设置连接是否可以输出
conn.setDoOutput(true);
//设置连接是否可以输入
conn.setDoInput(true);
//告诉服务器客户端提交的数据类型(表单数据)
conn.setRequestProperty("Content-Type","application/x-www-form-urlencoded;charset=utf-8");
OutputStream output=conn.getOutputStream();
output.write("username=老师".getBytes("UTF-8"));
output.close();
// 获取状态码
int code = conn.getResponseCode();
Log.d("bh",code+"");
if (code == 200) {// 请求成功
Log.d("bh",conn.getHeaderFields().toString());
// 获取响应消息的实体内容
InputStreamReader reader = new InputStreamReader(
conn.getInputStream());
char[] charArr = new char[1024 * 8];
int len = 0;
while ((len = reader.read(charArr)) != -1) {
// 字符数组转字符串
String str = new String(charArr, 0, len);
// 在结尾追加字符串
buffer.append(str);
}
}
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return buffer.toString();
} protected void onPostExecute(String result) {
// 设置字符串到编辑框
et_content.setText(result);
};
}.execute("http://192.168.1.100:8080/WEB/TestServlet");
}
}
post方式请求数据的更多相关文章
- get和post方式请求数据,jsonp
get方式请求数据: p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 19.0px Consolas; color: #289c97 } p.p2 { ma ...
- android 之HttpURLConnection的post,get方式请求数据
get方式和post方式的区别: 1.请求的URL地址不同: post:"http://xx:8081//servlet/LoginServlet" get:http://xxx: ...
- C# http请求数据
http中get和post请求的最大区别:get是通过URL传递表单值,post传递的表单值是隐藏到 http报文体中 http以get方式请求数据 /// <summary> /// g ...
- region URL请求数据
#region URL请求数据 /// <summary> /// HTTP POST方式请求数据 /// </summary> /// <param name=&quo ...
- JAVA通过HTTP方式获取数据
测试获取免费天气数据接口:http://www.weather.com.cn/data/sk/101190408.html URL数据如下图: 代码部分: package https; import ...
- 前端向服务器请求数据并渲染的方式(ajax/jQuery/axios/vue)
原理: jQuery的ajax请求:complete函数一般无论服务器有无数据返回都会显示(成功或者失败都显示数据): return result
- Android传统HTTP请求get----post方式提交数据(包括乱码问题)
1.模仿登入页面显示(使用传统方式是面向过程的) 使用Apache公司提供的HttpClient API是面向对象的 (文章底部含有源码的连接,包括了使用async框架) (解决中文乱码的问题.主要 ...
- vue的请求数据方式
一,vue-resource请求数据 介绍:vue-resource请求数据方式是官方提供的一个插件 步骤: 1,npm安装 npm install vue-resource --save ...
- Ajax请求数据的两种方式
ajax 请求数据的两种方法,有需要的朋友可以参考下. 实现ajax 异步访问网络的方法有两个.第一个是原始的方法,第二个是利用jquery包的 原始的方法不用引入jquery包,只需在html中编写 ...
随机推荐
- Colourful Rectangle【扫描线】
题目链接 很明显的可以发现是一个扫描线的问题,但是怎么处理区域呢,发现只有三种颜色,也就是最多也就是7种状态,那么我们可以进行一个状态压缩即可. 但是,在向上pushup的时候,存在我们要以子树的状态 ...
- python 按二维数组的某行或列排序 (numpy lexsort)
lexsort支持对数组按指定行或列的顺序排序:是间接排序,lexsort不修改原数组,返回索引. (对应lexsort 一维数组的是argsort a.argsort()这么使用就可以:argsor ...
- C#调取接口时报错:服务器提交了协议冲突. Section=ResponseStatusLine
private Dictionary<string, Object> GetLocation(string imei) { #region===代码=== string serviceAd ...
- 微信小程序(一)--微信小程序的介绍
一.微信小程序简介 小程序是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,用户扫一扫或者搜一下即可打开应用.也体现了“用完即走”的理念,用户不用关心是否安装太多应用的问题.应用将无 ...
- 安装Kubernetes V1.16.2
安装Kubernetes V1.16.2 准备硬件环境 利用VirtualBox准备两台Linux虚拟机(K8S集群2台起步),系统用CentOS(我用的是的CentOS-7-x86_64-DVD-1 ...
- AC自动机题单
AC自动机题目 真的超级感谢xzy 真的帮到我很多 题单 [X] [luogu3808][模板]AC自动机(简单版) https://www.luogu.org/problemnew/show/P38 ...
- 12、numpy——数学函数
NumPy 数学函数 NumPy 包含大量的各种数学运算的函数,包括三角函数,算术运算的函数,复数处理函数等. 1.三角函数 NumPy 提供了标准的三角函数:sin().cos().tan(). i ...
- python学习第七天流程控制循环while和循环for区别
流程控制循环是任何编程语言都有一种循环结构,在python while 和break continue 搭配使用,还一种while ....else ......,for循环有序列表和字符串 whil ...
- SQL server 聚集索引与主键的区别
主键是一个约束(constraint),他依附在一个索引上,这个索引可以是聚集索引,也可以是非聚集索引. 所以在一个(或一组)字段上有主键,只能说明他上面有个索引,但不一定就是聚集索引. 例如下面: ...
- Django学习——开发你的第一个Django应用1
突然对Django热情似火,所以就开学习了,我是根据官方文档学习的,所以我打算把官方文档翻译一遍,全当学习,首先贴官方文档的地址:https://docs.djangoproject.com/en/1 ...