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几种请求和响应的代码实现相关推荐

  1. Android M版本中gpio几种常见设定的pinctrl配置

    Android M版本中gpio几种常见设定的pinctrl配置 [DESCRIPTION] pinctrl的配置file是<project>.dts 备注:配置是以mt6735上gpio ...

  2. android 源码中的单例,Android源码中的一种单例实现

    单例模式的实现方式有懒汉,饿汉,双重校验锁,枚举,内部类等等,写法就不全部列举了.Android源码中有一个单例辅助类/frameworks/base/core/java/android/util/S ...

  3. python与android交互,Android客户端与Python服务器端的简单通信

    最近在做一个APP,需要与服务器通信,一点一点的尝试,记录一下. 本文使用了OkHttp和Flask框架. Android客户端: 实现功能输入完点击OK按钮后会toast成功的信息. Python服 ...

  4. Flask框架中的四种请求勾子

    在客户端和服务器交互的过程中,有些准备工作或扫尾工作需要处理,比如: 在请求开始时,建立数据库连接:在请求开始时,根据需求进行权限校验:在请求结束时,指定数据的交互格式: 为了让每个视图函数避免编写重 ...

  5. java字体美化_Java 在Excel单元格中应用一种/多种字体样式(实例代码)

    这篇文章主要介绍了Java 在Excel单元格中应用一种/多种字体样式,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下 在Excel表格中,设置单元格字体样式时,可 ...

  6. HTTP请求方式中的8种请求方式

    介绍: HTTP是超文本传输协议,其定义了客户端和服务器端之间文本传输的规范.HTTP默认使用80端口,这个端口指的是服务器端的端口,而客户端的端口是动态分配的.当我们没有指定端口访问时,浏览器会默认 ...

  7. java excel 字体_Java 在Excel单元格中应用一种/多种字体样式(实例代码)

    在Excel表格中,设置单元格字体样式时,可以对单元格内的所有字符应用同一样式,即获取指定单元,应用样式即可:另外也可以对单元格内的不同字符内容应用不同字体样式,即获取单元格中的字符位置,应用样式:本 ...

  8. Spring Boot中如何扩展XML请求和响应的支持

    在之前的所有Spring Boot教程中,我们都只提到和用到了针对HTML和JSON格式的请求与响应处理.那么对于XML格式的请求要如何快速的在Controller中包装成对象,以及如何以XML的格式 ...

  9. 独家 | 机器学习中的四种分类任务(附代码)

    作者:Jason Brownlee 翻译:陈丹 校对:杨毅远 全文约4400字,建议阅读18分钟 本文为大家介绍了机器学习中常见的四种分类任务.分别是二分类.多类别分类.多标签分类.不平衡分类,并提供 ...

  10. 推荐 :机器学习中的四种分类任务(附代码)

    作者:Jason Brownlee  翻译:陈丹  校对:杨毅远 全文约4400字,建议阅读18分钟 本文为大家介绍了机器学习中常见的四种分类任务.分别是二分类.多类别分类.多标签分类.不平衡分类,并 ...

最新文章

  1. Asp.net Mvc视频教程 页面传值基础(get/post/UpdateModel)
  2. 矩陣 线性递归 斐波那契實現
  3. llinux环境变量查看和修改
  4. 修改Advance Template Jsp模板的编码格式
  5. 使用delegate类型设计自定义事件
  6. python xposed_xposed + python 怎么爬取微信朋友圈的数据
  7. 计算机网络那有红叉,未能连接一个Windows,电脑网络连接有个红叉-
  8. u盾 签名pdf显示 “签名于修订版中删除”_Adobe Acrobat Reader DC for mac(免费pdf阅读)...
  9. VB.NET 教程_04_高级教程
  10. 搭建Vgg16训练CIFAR10数据集
  11. 慎用!3个容易被打的Python恶搞脚本!
  12. 36岁大龄程序员转岗做运营,最让我觉得有价值感的二三事!深度自问
  13. 什么是SVG及使用方式
  14. js 点击文本框,预览选择图片
  15. 国内大陆有哪些芯片公司处于世界前10?一起看看!
  16. 干货长文《对抗中的主动防御》
  17. c3p0 SQLException: An attempt by a client to checkout a Connection has timed out异常
  18. python爬房源信息_Python爬链家网租房信息
  19. composer安装laravel下载不了
  20. 股票交易接口的编程模块

热门文章

  1. 在ASP.NET 2.0中实现URL重写
  2. Spring Boot入门(3)-数据库操作
  3. IntelliJ IDEA破解和汉化
  4. OpenCV-图像处理(28、轮廓发现(find contour in your image))
  5. directx修复工具 4.0_A12-A13最稳定越狱工具发布,支持iOS13.0—iOS13.3
  6. indesign打开黑屏 mac_看完这篇文章,90%的电脑黑屏问题都可以解决了!
  7. 【ABC196-D】 Hanjo(dfs+状态标记)
  8. 【POJ2796】Feel Good (简单单调栈)
  9. MySql Workbench不支持中文字符找不到my.cnf文件解决办法
  10. 2018.8.25CCPC网络赛Find Integer题解(费马大定理+勾股数的求解)