jsp android 交互,Android中HTTP几种请求和响应的代码实现
Android 网络编程中最经常遇到的就是Http请求,和处理返回值得到信息,达到网络交互的效果;
下面看几种最常用的网络请求:
一 Http GET请求 (200响应)
private void HttpGet() {
try {
URL url = new URL("http://hbydhw.bestv.com.cn:8082/" +
"EDS/jsp/AuthenticationURL?Action=Login&UserID=test2018030701");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
String readLine = "";
if(connection.getResponseCode() == HttpURLConnection.HTTP_OK){
InputStream is = connection.getInputStream();
byte[] buffer = new byte[1024];
int hasread = 0;
while((hasread = is.read(buffer))>0){
readLine += new String(buffer,0,hasread);
}
JSONObject jsonObject = JSONObject.fromObject(readLine);
String name = jsonObject.getString("name");
int number = jsonObject.getInt("number");
}else{
//其他响应
}
}catch (MalformedURLException e){
e.printStackTrace();
} catch (IOException e){
e.printStackTrace();
}
}
二 Http GET请求 (302响应)
/**
* 302响应
* 获取到响应头返回的
* Location地址
* 主机地址等信息
*/
private void getHttp302() {
try {
URL myUrl = new URL("");
HttpURLConnection connection = (HttpURLConnection) myUrl.openConnection();
connection.setRequestMethod("GET");
connection.setRequestProperty("accept", "*/*");
connection.setRequestProperty("connection", "Keep-Alive");
// 必须设置false,否则会自动redirect到Location的地址
connection.setInstanceFollowRedirects(false);
if(connection.getResponseCode() == HttpURLConnection.HTTP_MOVED_TEMP){
String location = connection.getHeaderField("Location");
String temp = location.substring(location.indexOf("//") + 2, location.length());
String returnip = temp.substring(0, temp.indexOf("/"));
returnip = "http://" + returnip;
}
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
三 Http POST请求
/**
* http POST
* 响应
*/
private void getHttpPost() {
try {
String uri = "http://hbydfh.bestv.com.cn:6060/aaa/services/rest/V2/AAA/xxxxxx";
URL url = new URL(uri);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setDoInput(true);
connection.setDoOutput(true);
connection.setRequestProperty("Content-Type", "application/json; charset=UTF-8");
connection.setRequestProperty("Accept", "application/json");
//POST请求中写入参数
OutputStream out1 = connection.getOutputStream();
JSONObject jsonMacInput = new JSONObject();
jsonMacInput.put("key", "value");
out1.write((jsonMacInput.toString()).getBytes());
out1.flush();
out1.close();
if(connection.getResponseCode() == HttpURLConnection.HTTP_OK){
InputStream is1 = connection.getInputStream();
byte[] buffer1 = new byte[1024];
int hasread = 0;
while ((hasread = is1.read(buffer1)) > 0) {
returnaccount += new String(buffer1, 0, hasread);
}
//解析返回值
JSONObject jsonOutPut = JSONObject.fromObject(returnaccount);
resultCode = jsonOutPut.getString("returnKey");
is1.close();
connection.disconnect();
}
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
jsp android 交互,Android中HTTP几种请求和响应的代码实现相关推荐
- Android M版本中gpio几种常见设定的pinctrl配置
Android M版本中gpio几种常见设定的pinctrl配置 [DESCRIPTION] pinctrl的配置file是<project>.dts 备注:配置是以mt6735上gpio ...
- android 源码中的单例,Android源码中的一种单例实现
单例模式的实现方式有懒汉,饿汉,双重校验锁,枚举,内部类等等,写法就不全部列举了.Android源码中有一个单例辅助类/frameworks/base/core/java/android/util/S ...
- python与android交互,Android客户端与Python服务器端的简单通信
最近在做一个APP,需要与服务器通信,一点一点的尝试,记录一下. 本文使用了OkHttp和Flask框架. Android客户端: 实现功能输入完点击OK按钮后会toast成功的信息. Python服 ...
- Flask框架中的四种请求勾子
在客户端和服务器交互的过程中,有些准备工作或扫尾工作需要处理,比如: 在请求开始时,建立数据库连接:在请求开始时,根据需求进行权限校验:在请求结束时,指定数据的交互格式: 为了让每个视图函数避免编写重 ...
- java字体美化_Java 在Excel单元格中应用一种/多种字体样式(实例代码)
这篇文章主要介绍了Java 在Excel单元格中应用一种/多种字体样式,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下 在Excel表格中,设置单元格字体样式时,可 ...
- HTTP请求方式中的8种请求方式
介绍: HTTP是超文本传输协议,其定义了客户端和服务器端之间文本传输的规范.HTTP默认使用80端口,这个端口指的是服务器端的端口,而客户端的端口是动态分配的.当我们没有指定端口访问时,浏览器会默认 ...
- java excel 字体_Java 在Excel单元格中应用一种/多种字体样式(实例代码)
在Excel表格中,设置单元格字体样式时,可以对单元格内的所有字符应用同一样式,即获取指定单元,应用样式即可:另外也可以对单元格内的不同字符内容应用不同字体样式,即获取单元格中的字符位置,应用样式:本 ...
- Spring Boot中如何扩展XML请求和响应的支持
在之前的所有Spring Boot教程中,我们都只提到和用到了针对HTML和JSON格式的请求与响应处理.那么对于XML格式的请求要如何快速的在Controller中包装成对象,以及如何以XML的格式 ...
- 独家 | 机器学习中的四种分类任务(附代码)
作者:Jason Brownlee 翻译:陈丹 校对:杨毅远 全文约4400字,建议阅读18分钟 本文为大家介绍了机器学习中常见的四种分类任务.分别是二分类.多类别分类.多标签分类.不平衡分类,并提供 ...
- 推荐 :机器学习中的四种分类任务(附代码)
作者:Jason Brownlee 翻译:陈丹 校对:杨毅远 全文约4400字,建议阅读18分钟 本文为大家介绍了机器学习中常见的四种分类任务.分别是二分类.多类别分类.多标签分类.不平衡分类,并 ...
最新文章
- Asp.net Mvc视频教程 页面传值基础(get/post/UpdateModel)
- 矩陣 线性递归 斐波那契實現
- llinux环境变量查看和修改
- 修改Advance Template Jsp模板的编码格式
- 使用delegate类型设计自定义事件
- python xposed_xposed + python 怎么爬取微信朋友圈的数据
- 计算机网络那有红叉,未能连接一个Windows,电脑网络连接有个红叉-
- u盾 签名pdf显示 “签名于修订版中删除”_Adobe Acrobat Reader DC for mac(免费pdf阅读)...
- VB.NET 教程_04_高级教程
- 搭建Vgg16训练CIFAR10数据集
- 慎用!3个容易被打的Python恶搞脚本!
- 36岁大龄程序员转岗做运营,最让我觉得有价值感的二三事!深度自问
- 什么是SVG及使用方式
- js 点击文本框,预览选择图片
- 国内大陆有哪些芯片公司处于世界前10?一起看看!
- 干货长文《对抗中的主动防御》
- c3p0 SQLException: An attempt by a client to checkout a Connection has timed out异常
- python爬房源信息_Python爬链家网租房信息
- composer安装laravel下载不了
- 股票交易接口的编程模块
热门文章
- 在ASP.NET 2.0中实现URL重写
- Spring Boot入门(3)-数据库操作
- IntelliJ IDEA破解和汉化
- OpenCV-图像处理(28、轮廓发现(find contour in your image))
- directx修复工具 4.0_A12-A13最稳定越狱工具发布,支持iOS13.0—iOS13.3
- indesign打开黑屏 mac_看完这篇文章,90%的电脑黑屏问题都可以解决了!
- 【ABC196-D】 Hanjo(dfs+状态标记)
- 【POJ2796】Feel Good (简单单调栈)
- MySql Workbench不支持中文字符找不到my.cnf文件解决办法
- 2018.8.25CCPC网络赛Find Integer题解(费马大定理+勾股数的求解)