Okhttp3的使用详解

2018-06-22  本文已影响22人  CarlosLynn

Maxim


简介

HTTP是现代应用常用的一种交换数据和媒体的网络方式,高效地使用HTTP能让资源加载更快,节省带宽。
OkHttp是一个高效的HTTP客户端
支持Http和Http/2,可适用于Android以及Java应用的网络请求客户端


特性

OkHttp可以在请求出现问题时 坚守 灵活处理:针对于常见的连接问题,OkHttp会默认自动帮应用做修复处理。如果你的服务器有多个IP地址,OkHttp将会在请求失败时,不断尝试连接另外的IP地址。当服务器同时支持IPv4+IPv6,或者主机服务器出现数据故障时,这是非常有用的。如果握手失败,OkHttp会自动初始化一个带有TLS(SNI, ALPN)协议的新连接向支持TLS 1.0的服务器再次发起请求。

note: OkHttp 支持 Android 2.3 及以上版本Android平台, 对于 Java, JDK 1.7及以上.


使用配置

GRADLE

modle下build.gradle配置添加如下依赖后进行同步


dependencies {
  implementation 'com.squareup.okhttp3:okhttp:3.11.0'
  implementation  'com.squareup.okio:okio:1.7.0'
}

添加权限

AndroidManifest.xml添加权限:网络,文件读写

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>

okHttp的基本用法

  1. application/x-www-form-urlencoded:这是默认编码方式,它只处理表单域里的value属性值,采用这种编码方式的表单会将表单域的值处理成URL编码方式。
  2. multipart/form-data:这种编码方式的表单会以二进制流的方式来处理表单数据,这种编码方式会把文件域指定文件的内容也封装到请求参数里。
  3. text/plain:这种方式主要适用于直接通过表单发送邮件的方式。
    6,OkHttp3进行多文件上传并且携带表单字段
    POST请求的基础上,创建一个MultipartBody
    RequestBody requestBody = new MultipartBody.Builder()
    .setType(MultipartBody.FORM)//设置数据类型
    .addFormDataPart("username", "zxn")//添加参数
    .addFormDataPart("file","1.txt", RequestBody.create(MultipartBody.FORM, file))//变量,文件名,请求体
    .build();

参考文献

okhttp管网介绍

上一篇 下一篇

猜你喜欢

热点阅读