前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >OKHttp使用解析

OKHttp使用解析

作者头像
摸鱼的G
发布2023-02-22 11:57:21
发布2023-02-22 11:57:21
51100
代码可运行
举报
文章被收录于专栏:火属性小虫火属性小虫
运行总次数:0
代码可运行

OKHttp使用解析

OKHttp 是一套处理 HTTP 网络请求的依赖库,由 Square 公司设计研发并开源,目前可以在 Java 和 Kotlin 中使用,现在几乎已经占据了所有的网络请求操作。

OKHttp的基本使用:

首先想要使用OKHttp,需要创建一个OkHttpClient的实例,作为其客户端。

代码语言:javascript
代码运行次数:0
复制
OkHttpClient client=new OkHttpClient();

之后由于我们想要发起Http请求,所有需要创建一个Request对象:

代码语言:javascript
代码运行次数:0
复制
Request request=new Request.Builder().build();

这里我们使用Request的Builder方法创建了一个空的Request对象,并没用什么实际作用,但我们可以在最终的build()方法前连缀很多其他方法来丰富这个Request对象。比如我们添加 url()方法来指定网络地址:

代码语言:javascript
代码运行次数:0
复制
Request request = new Request.Builder()
                 .url("https://www.baidu.com")
                 .build()

之后我们就可以调用OkHttpClient的newCall()方法来创建一个Call对象,并调用它的execute()方法来发送请求并获取服务器返回的数据:

代码语言:javascript
代码运行次数:0
复制
 Call call=okHttpClient.newCall(request);
 Response response=call.execute();

这里是Respnse对象就是返回的数据了,这样我们就能使用body().string()方法来得到具体内容:

代码语言:javascript
代码运行次数:0
复制
String data=response.body().string()

这样我们就成功进行GET请求了。

但如果是发起一条POST请求,会稍微复杂点,我们需要创建请求体 FormBody,首先,我们先创建它的构建器:

代码语言:javascript
代码运行次数:0
复制
Builder builder = new FormBody.Builder();

之后我们需要将数据使用add()放入其中并使用build()方法构建:

代码语言:javascript
代码运行次数:0
复制
builder.add("key1","val1")
       .add("key2","val2");
FormBody formbody=builder.build();

然后就可以在Request build构建之前使用post()方法传入了:

代码语言:javascript
代码运行次数:0
复制
Request request = new Request.Builder()
                 .url("https://www.baidu.com")
                 .post(formbody)
                 .build()
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • OKHttp使用解析
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档