okhttp的基本使用(post发送json示例)
简介
OkHttp是一个处理网络请求的开源项目
功能
PUT,DELETE,POST,GET等请求 文件的上传下载 加载图片(内部会图片大小自动压缩) 支持请求回调,直接返回对象、对象集合 支持session的保持
优点
支持HTTP2/SPDY(SPDY是Google开发的基于TCP的传输层协议,用以最小化网络延迟,提升网络速度,优化用户的网络使用体验。) socket自动选择***路线,并支持自动重连,拥有自动维护的socket连接池,减少握手次数,减少了请求延迟,共享Socket,减少对服务器的请求次数。 基于Headers的缓存策略减少重复的网络请求。 拥有Interceptors轻松处理请求与响应(自动处理GZip压缩)
依赖
<!-- https://mvnrepository.com/artifact/com.squareup.okhttp3/okhttp --> <dependency> <groupId>com.squareup.okhttp3</groupId> <artifactId>okhttp</artifactId> <version>3.14.9</version> </dependency>
示例
package com.qzcsbj.demo; import okhttp3.*; import java.io.IOException; import java.util.concurrent.TimeUnit; /** * @公众号 : 全栈测试笔记 * @博客 : www.cnblogs.com/uncleyong * @微信 : ren168632201 * @描述 : <> */ public class OkHttp3Test { public static void main(String[] args) { // 定义接口的URL String url = "http://localhost:8089/qzcsbj/user/login"; // 接口的请求参数 String requestParameter = "{\n" + " \"username\": \"qzcsbj\",\n" + " \"password\": \"123456\"\n" + "}"; // 封装请求体 MediaType mediaType = MediaType.parse("application/json"); RequestBody requestBody = RequestBody.create(mediaType, requestParameter); // 封装请求对象 Request request = new Request.Builder().post(requestBody) .addHeader("Content-Type", "application/json") .url(url).build(); // 创建okhttp工具类 OkHttpClient okHttpClient = new OkHttpClient.Builder() .connectTimeout(30, TimeUnit.SECONDS) .writeTimeout(30, TimeUnit.SECONDS) .readTimeout(30, TimeUnit.SECONDS) .build(); try { // 执行这个请求对象 Response response = okHttpClient.newCall(request).execute(); System.out.println(response.body().string()); } catch (IOException e) { e.printStackTrace(); } } }
结果
__EOF__
本文作者:持之以恒(韧)
关于博主:擅长性能、全链路、自动化、企业级自动化持续集成(DevTestOps)、测开等
面试必备:项目实战(性能、自动化)、简历笔试,https://www.cnblogs.com/uncleyong/p/15777706.html
测试提升:从测试小白到高级测试修炼之路,https://www.cnblogs.com/uncleyong/p/10530261.html
欢迎分享:如果您觉得文章对您有帮助,欢迎转载、分享,也可以点击文章右下角【推荐】一下!
关于博主:擅长性能、全链路、自动化、企业级自动化持续集成(DevTestOps)、测开等
面试必备:项目实战(性能、自动化)、简历笔试,https://www.cnblogs.com/uncleyong/p/15777706.html
测试提升:从测试小白到高级测试修炼之路,https://www.cnblogs.com/uncleyong/p/10530261.html
欢迎分享:如果您觉得文章对您有帮助,欢迎转载、分享,也可以点击文章右下角【推荐】一下!