- , 13 8月 2022
- 作者 847954981@qq.com
- 后端学习, 我的编程之路
OKHttp使用解析
OKHttp 是一套处理 HTTP 网络请求的依赖库,由 Square 公司设计研发并开源,目前可以在 Java 和 Kotlin 中使用,现在几乎已经占据了所有的网络请求操作。
OKHttp的基本使用:
首先想要使用OKHttp,需要创建一个OkHttpClient的实例,作为其客户端。
代码语言:javascript复制OkHttpClient client=new OkHttpClient();
之后由于我们想要发起Http请求,所有需要创建一个Request对象:
代码语言:javascript复制Request request=new Request.Builder().build();
这里我们使用Request的Builder方法创建了一个空的Request对象,并没用什么实际作用,但我们可以在最终的build()方法前连缀很多其他方法来丰富这个Request对象。比如我们添加 url()方法来指定网络地址:
代码语言:javascript复制Request request = new Request.Builder()
.url("https://www.baidu.com")
.build()
之后我们就可以调用OkHttpClient的newCall()方法来创建一个Call对象,并调用它的execute()方法来发送请求并获取服务器返回的数据:
代码语言:javascript复制 Call call=okHttpClient.newCall(request);
Response response=call.execute();
这里是Respnse对象就是返回的数据了,这样我们就能使用body().string()方法来得到具体内容:
代码语言:javascript复制String data=response.body().string()
这样我们就成功进行GET请求了。
但如果是发起一条POST请求,会稍微复杂点,我们需要创建请求体 FormBody,首先,我们先创建它的构建器:
代码语言:javascript复制Builder builder = new FormBody.Builder();
之后我们需要将数据使用add()放入其中并使用build()方法构建:
代码语言:javascript复制builder.add("key1","val1")
.add("key2","val2");
FormBody formbody=builder.build();
然后就可以在Request build构建之前使用post()方法传入了:
代码语言:javascript复制Request request = new Request.Builder()
.url("https://www.baidu.com")
.post(formbody)
.build()