Kotlin在处理GET和POST请求的数据问题
1.网络请求获取到的数据流处理
java写法
BufferedReader br = new BufferedReader(new InputStreamReader(in, "utf-8")); String line;
StringBuffer sb = new StringBuffer();
while ((line = br.readLine()) != null) {//cotlin会出现无限循环的语法错误
sb.append(line);
}
Kotlin改写连接字符的几种写法
写法一
var inStrem: InputStream = response.body().byteStream()
var br: BufferedReader = BufferedReader(InputStreamReader(inStrem, "utf-8"))
var line: String?=null
var sb: StringBuffer = StringBuffer() while ({ line = br.readLine(); line }() != null) { // <--- The IDE asks me to replace this line for while(true), what the...?
sb.append(line)
}
写法二
while ({line = br.readLine();line}()!=null) { sb.append(line) }
写法三
br.lineSequence().forEach { print(it) sb.append(it) }
2.okhttp处理
public fun connectHttp(url: String) :String? {
var tempString:String?=null
var client: OkHttpClient = OkHttpClient()
val requset = Request.Builder()
.url(url)
.post(RequestBody.create(MediaType.parse("text/plain; utf-8"), "this is test"))
.build() //异步处理
client.newCall(requset).enqueue(object : Callback {
override fun onFailure(request: Request?, e: IOException?) {
TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
} override fun onResponse(response: Response?) {
if (response!!.isSuccessful)
tempString = response.body().string() TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
}
})
if (tempString!!.isEmpty()){
return tempString
}else
return null
}
数据体常见的请求属性:
/**
* 属性:
text/html : HTML格式
text/plain :纯文本格式
text/xml : XML格式
image/gif :gif图片格式
image/jpeg :jpg图片格式
image/png:png图片格式
以application开头的媒体格式类型:
application/xhtml+xml :XHTML格式
application/xml : XML数据格式
application/atom+xml :Atom XML聚合格式
application/json : JSON数据格式
application/pdf :pdf格式
application/msword : Word文档格式
application/octet-stream : 二进制流数据(如常见的文件下载)
application/x-www-form-urlencoded : <form encType=””>中默认的encType,form表单数据被编码为key/value格式发送到服务器(表单默认的提交数据的格式)
另外一种常见的媒体格式是上传文件之时使用的:
multipart/form-data : 需要在表单中进行文件上传时,就需要使用该格式
注意:MediaType.parse("image/png")里的"image/png"不知道该填什么,可以参考---》http://www.w3school.com.cn/media/media_mimeref.asp
如何使用呢?(在请求体里面写入类型和需要写入的数据,通过post请求)
*/
Kotlin在处理GET和POST请求的数据问题的更多相关文章
- Android之三种网络请求解析数据(最佳案例)
AsyncTask解析数据 AsyncTask主要用来更新UI线程,比较耗时的操作可以在AsyncTask中使用. AsyncTask是个抽象类,使用时需要继承这个类,然后调用execute()方法. ...
- ajex请求的数据 什么时候需用Json.parse()
ajex请求的数据 什么时候需用 Json.parse()
- kpvalidate开辟验证组件,通用Java Web请求服务器端数据验证组件
小菜利用工作之余编写了一款Java小插件,主要是用来验证Web请求的数据,是在服务器端进行验证,不是简单的浏览器端验证. 小菜编写的仅仅是一款非常初级的组件而已,但小菜为它写了详细的说明文档. 简单介 ...
- Android 手机卫士--构建服务端json、请求网络数据
本文地址:http://www.cnblogs.com/wuyudong/p/5900384.html,转载请注明源地址. 数据的传递 客户端:发送http请求 http://www.oxx.com/ ...
- c# JD快速搜索工具,2015分析JD搜索报文,模拟请求搜索数据,快速定位宝贝排行位置。
分析JD搜索报文 搜索关键字 女装 第二页,分2次加载. rt=1&stop=1&click=&psort=&page=3http://search.jd.com/Se ...
- EasyUI queryParams属性 在请求远程数据同时给action方法传参
http://www.cnblogs.com/iack/p/3530500.html?utm_source=tuicool EasyUI queryParams属性 在请求远程数据同时给action方 ...
- Fiddler-007-修改HTTP请求响应数据
前文简述了如何通过 Fiddler 修改 HTTP请求 的请求参数,详情请参阅:Fiddler-006-修改HTTP请求参数. 在进行 App 测试时,经常需要修改请求参数,以获得不同的显示效果,以查 ...
- SQL SERVER 2008筛选时报错 无法为该请求检索数据
使用SqlServer2008的筛选功能时报错“无法为该请求检索数据. (Microsoft.SqlServer.Management.Sdk.Sfc)” 如下图: 解决方法: 打上SQL SERVE ...
- Get请求携带数据量的各种限制及解决办法、Post请求说明
1. Get请求携带数据量的各种限制及解决办法 Http Get方法提交的数据大小长度并没有限制,HTTP协议规范没有对URL长度进行限制.这个限制是特定的浏览器及服务器对它的限制. 到新公司处理 ...
随机推荐
- java->php之在线子域名查询-接口光速版
因为不懂java,所以 用php重写了大佬的 在线子域名查询-接口光速版 http://sbd.ximcx.cn/ 这是大佬的 然后 改一下 ,用php 其实就是改了几行代码而已,jquery和aj ...
- x01.polls: 学习 django
开发一个 Web 应用:x01.polls,可能比想像的还要容易一些,这完全得益于 django 框架. 1.安装 django: sudo pip3 install django 2.阅读 djan ...
- 关于 idea 快捷键 alt + f7 无法使用的一些尝试
1. 概述 问题 使用 idea 时, 快捷键 alt + f7 无法生效 环境 OS: win10 idea: idea 2018.1.5 GeForce Experience: 3.17.0.12 ...
- 纪中OJ 2019.01.25【NOIP提高组】模拟 B 组 T2 数字对
声明 数字对 Time Limits: 2000 ms Memory Limits: 262144 KB Description 小 H 是个善于思考的学生,现在她又在思考一个有关序列的问题. ...
- Linux入门——基础系统设置命令
以下为centos7实验环境 1.网卡管理工具命令——nmcli 参考:http://www.iteye.com/topic/1141839 2.主机名称设置——hostnamectl [root@s ...
- 版本控制工具(上)——Git的基本使用
一.Git简介 git是什么? Git是一个开源的分布式版本控制系统,可以有效.高速的处理从很小到非常大的项目版本管理.[2] Git 是 Linus Torvalds 为了帮助管理 Linux 内 ...
- 20155213 实验三《敏捷开发与XP实践》实验报告
20155213 实验三<敏捷开发与XP实践>实验报告 实验内容 XP基础 XP核心实践 相关工具 实验要求 1.没有Linux基础的同学建议先学习<Linux基础入门(新版)> ...
- 20155236 《Java程序设计》实验四(Android程序设计)实验报告
20155236 <Java程序设计>实验四(Android程序设计)实验报告 一.实验内容及步骤 第24章:初识Android 任务一:完成Hello World, 要求修改res目录中 ...
- 20155236 《Java程序设计》实验一(Java开发环境的熟悉)实验报告
20155236 <Java程序设计>实验一(Java开发环境的熟悉)实验报告 一.实验内容及步骤 (一)使用JDK编译.运行简单的java程序 命令行下的程序开发 因为我用的是windo ...
- 20155305乔磊2016-2017-2《Java程序设计》第三周学习总结
20155305乔磊 2016-2017-2 <Java程序设计>第三周学习总结 教材学习内容总结 对象(Object):存在的具体实体,具有明确的状态和行为 类(Class):具有相同属 ...