java okhttp maven pom
<dependency> <groupId>com.squareup.okhttp3</groupId> <artifactId>okhttp</artifactId> <version>3.2.0</version> </dependency> <dependency> <groupId>com.squareup.okio</groupId> <artifactId>okio</artifactId> <version>1.7.0</version> </dependency>
OkhttpUtils.java
import java.io.File; import java.io.IOException; import java.util.HashMap; import java.util.Map; import java.util.Map.Entry; import okhttp3.Call; import okhttp3.Callback; import okhttp3.FormBody; import okhttp3.FormBody.Builder; import okhttp3.MediaType; import okhttp3.MultipartBody; import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.RequestBody; import okhttp3.Response; import okio.BufferedSink; import com.curiousby.baoyou.cn.showandshare.application.otherapplicaition.springbootdubboconsumer.common.RespEntity; import com.curiousby.baoyou.cn.showandshare.application.otherapplicaition.springbootdubboconsumer.common.RespEnums; import com.curiousby.baoyou.cn.showandshare.application.otherapplicaition.springbootdubboconsumer.common.ValidatorUtil; public class OkhttpUtils { public static RespEntity postPipe(String url, Map<String, Object> params) { RespEntity entity = new RespEntity(""); RequestBody requestBody = new RequestBody( ) { @Override public MediaType contentType() { return MediaType.parse("application/json;charset:UTF-8"); } @Override public void writeTo(BufferedSink sink) throws IOException { sink.writeUtf8(FastJsonUtils.toJSONString(params)); } }; Request request = new Request.Builder() .url(url) .post(requestBody) .build(); OkHttpClient client = new OkHttpClient(); Response response = null; try { response = client.newCall(request).execute(); } catch (IOException e) { e.printStackTrace(); entity.setCode(RespEnums.RESP_EXCEPTION.getCode()); entity.setMsg(e.getMessage()); } if (!response.isSuccessful()) { entity.setCode(RespEnums.RESP_OTHER_RESP_CODE.getCode()); } String result = null; try { result = response.body().string(); entity.setData(result); } catch (IOException e) { e.printStackTrace(); entity.setCode(RespEnums.RESP_EXCEPTION.getCode()); entity.setMsg(e.getMessage()); } return entity; } public static RespEntity post(String url, Map<String, Object> headers, Map<String, Object> params) { RespEntity entity = new RespEntity(""); OkHttpClient client = new OkHttpClient(); FormBody.Builder formBuilder = new FormBody.Builder(); if (!ValidatorUtil.isEmpty(params)) { for (Entry<String, Object> entry : params.entrySet()) { formBuilder.add(entry.getKey(), ValidatorUtil.getObjOrEmpty(entry.getValue()).toString()); } } FormBody form = formBuilder.build(); Request.Builder requestBuilder = new Request.Builder(); //requestBuilder.addHeader("content-type", "application/json;charset:UTF-8") ; if (!ValidatorUtil.isEmpty(headers)) { for (Entry<String, Object> entry : headers.entrySet()) { requestBuilder.addHeader(entry.getKey(), ValidatorUtil.getObjOrEmpty(entry.getValue()).toString()); } } requestBuilder.url(url); requestBuilder.post(form); Request request = requestBuilder.build(); Response response = null; try { response = client.newCall(request).execute(); } catch (IOException e) { e.printStackTrace(); entity.setCode(RespEnums.RESP_EXCEPTION.getCode()); entity.setMsg(e.getMessage()); } if (!response.isSuccessful()) { entity.setCode(RespEnums.RESP_OTHER_RESP_CODE.getCode()); entity.setMsg("error code : "+response.code()); } String result = null; try { result = response.body().string(); entity.setData(result); } catch (IOException e) { e.printStackTrace(); entity.setCode(RespEnums.RESP_EXCEPTION.getCode()); entity.setMsg(e.getMessage()); } return entity; } public static void postAsynchronize(String url, Map<String, Object> params) { OkHttpClient client = new OkHttpClient(); Builder builder = new FormBody.Builder(); for (Entry<String, Object> entry : params.entrySet()) { builder.add(entry.getKey(), ValidatorUtil.getObjOrEmpty(entry.getValue()).toString()); } FormBody form = builder.build(); Request request = new Request.Builder().url(url).post(form).build(); Call call = client.newCall(request); call.enqueue(new Callback() { @Override public void onFailure(Call call, IOException e) { // 访问失败, 打印访问地址 Request r = call.request(); System.out.println("请求失败: " + r.url()); System.out.println(r.body()); } @Override public void onResponse(Call call, Response response) throws IOException { System.out.println("请求有响应" + call.request().url()); System.out.println("响应码: " + response.code()); System.out.println("请求内容: " + response.body().string()); } }); } public static void postSynchronize(String url, Map<String, Object> params) { OkHttpClient client = new OkHttpClient(); Builder builder = new FormBody.Builder(); for (Entry<String, Object> entry : params.entrySet()) { builder.add(entry.getKey(), ValidatorUtil.getObjOrEmpty(entry.getValue()).toString()); } FormBody form = builder.build(); Request request = new Request.Builder().url(url).post(form).build(); Response response = null; try { response = client.newCall(request).execute(); } catch (IOException e) { e.printStackTrace(); } if (!response.isSuccessful()) { } String result = null; try { result = response.body().string(); } catch (IOException e) { e.printStackTrace(); } } public static void uploadFile(String url,File file, Map<String, Object> params) { //还是先创建客户端 OkHttpClient client = new OkHttpClient(); //待上传文件 // MultipartBody.Part part = MultipartBody.Part .createFormData("upload", file.getName(), RequestBody.create(MultipartBody.FORM, file)); MultipartBody multipartBody = new MultipartBody.Builder() .setType(MultipartBody.FORM) .addFormDataPart("username", "lulu")//这个参数在服务器端可以接收到 .addFormDataPart("upload", file.getName(), RequestBody.create(MultipartBody.FORM, file)) .build(); Request request = new Request.Builder() .url("http://127.0.0.1:8080/test") .post(multipartBody) .build(); Call call = client.newCall(request); try { Response response = call.execute(); if (response.isSuccessful()) { System.out.println(response.body().string()); } else { System.out.println("访问失败:" + response.code()); } } catch (IOException e) { e.printStackTrace(); } } }
RespEntity .java
public class RespEntity implements Serializable{ private int code; private String msg; private Object data; private long timestamp ; public RespEntity() { } public RespEntity(Object data ) { this.code = RespEnums.RESP_HTTP_SUCCESS.getCode(); this.msg = RespEnums.RESP_HTTP_SUCCESS.getDesc(); this.data = data; this.timestamp = System.currentTimeMillis(); } public int getCode() { return code; } public void setCode(int code) { this.code = code; } public String getMsg() { return msg; } public void setMsg(String msg) { this.msg = msg; } public Object getData() { return this.data; } public void setData(Object data) { this.data = data; } public long getTimestamp() { return timestamp; } public void setTimestamp(long timestamp) { this.timestamp = timestamp; } }
RespEnums .java
public enum RespEnums { RESP_HTTP_SUCCESS(0,"000","HTTP SUCCESS") ,RESP_HTTP_ERROR(100,"100","HTTP ERROR") ,RESP_SUCCESS(200,"200","SUCCESS") ,RESP_VALID_SUCCESS(210,"210","VALID SUCCESS") ,RESP_VALID_FAIL(211,"211","VALID FAIL") ,RESP_ERROR(400,"400","ERROR") ,RESP_ERROR_PARAMS_NULL(401,"401","param is null") ,RESP_ERROR_AUTH_FAIL(402,"402","auth fail") ,RESP_ERROR_PARAMS_FAIL(403,"403","param fail") ,RESP_OTHER_RESP_CODE(499,"499","OTHER_RESP_CODE") ,RESP_EXCEPTION(500,"500","EXCEPTION") ; private int code; private String sourceCode; private String desc; private RespEnums(int code, String sourceCode, String desc){ this.setCode(code); this.setSourceCode(sourceCode); this.setDesc(desc); } /** * 根据编码获得基础编码对象 * @param sourceCode * @return */ public static RespEnums getBaseBySourceCode(String sourceCode){ RespEnums bc = null; for(RespEnums baseCodeEnum : RespEnums.values()){ if (baseCodeEnum.sourceCode.equals(sourceCode)){ bc = baseCodeEnum; break; } } return bc; } /** * 根据编码获得基础编码对象 * @param code * @return */ public static RespEnums getBaseByCode(int code){ RespEnums bc = null; for(RespEnums baseCodeEnum : RespEnums.values()){ if (baseCodeEnum.code == code ){ bc = baseCodeEnum; break; } } return bc; } public int getCode() { return code; } public void setCode(int code) { this.code = code; } public String getSourceCode() { return sourceCode; } public void setSourceCode(String sourceCode) { this.sourceCode = sourceCode; } public String getDesc() { return desc; } public void setDesc(String desc) { this.desc = desc; } }
捐助开发者
在兴趣的驱动下,写一个免费
的东西,有欣喜,也还有汗水,希望你喜欢我的作品,同时也能支持一下。 当然,有钱捧个钱场(支持支付宝和微信 以及扣扣群),没钱捧个人场,谢谢各位。
个人主页:http://knight-black-bob.iteye.com/
谢谢您的赞助,我会做的更好!
相关推荐
"Okhttp框架post json封装"主要涉及到如何使用OkHttp进行POST请求,并且在请求体中传递JSON格式的数据。 在Android开发中,我们经常需要与服务器进行数据交互,POST请求是一种常见的提交数据的方式,特别是在上传...
本示例主要展示了如何在Android应用中使用OkHttp进行网络请求,通过一系列详细简单的测试代码,帮助开发者快速理解和应用。** 1. **OkHttp的安装与配置** - 首先,在`build.gradle`文件中添加OkHttp的依赖库。通常...
本文将深入探讨如何使用OkHttp3进行GET和POST请求。 首先,我们来了解一下OkHttp3的基本概念。OkHttp是由Square公司开发的一个HTTP客户端库,它通过缓存、连接复用和高效的响应处理提高了网络请求的性能。OkHttp3是...
okhttp3进行https的post调用。代码比较详细,也有错误说明。
okhttp3进行http的post调用,代码比较详细。还有错误说明。
Android 使用 OkHttp 发送 POST 请求 Android 使用 OkHttp 发送 POST 请求是 Android 开发中的一种常见需求。OkHttp 是一个流行的 HTTP 客户端库,可以帮助开发者轻松地实现网络请求。在这里,我们将详细介绍如何...
本篇文章将深入探讨如何在SpringBoot项目中利用OkHttp3进行各种API调用,包括GET、POST以及文件上传的测试。 首先,我们来了解OkHttp3的基本概念。OkHttp3是Square公司推出的一个网络请求库,它通过复用TCP连接、...
本教程将详细介绍如何在Android应用中使用OkHttp进行GET、POST请求,以及如何实现图片下载和文件上传。 首先,我们需要在项目中添加OkHttp的依赖。在`build.gradle`文件中引入库: ```groovy dependencies { ...
要在Android项目中使用OKHttp,首先需要在项目的build.gradle文件中添加依赖。当前版本可能需要更新,具体依赖项可查看官方文档或Maven仓库: ```groovy dependencies { implementation '...
在Java开发中,OkHttp是一个高效且...OkHttp还支持POST、PUT、DELETE等其他HTTP方法,只需在构建`Request`时设置相应的方法即可。同时,还可以设置请求头、超时时间、重试策略等高级特性,以满足不同应用场景的需求。
使用OkHttp发送GET或POST请求非常简单。以下是一个GET请求的例子: ```java Request request = new Request.Builder() .url("https://api.example.com/data") .build(); OkHttpClient client = ...
在这里,我们将详细探讨如何在Eclipse环境下集成和使用Retrofit+Okhttp。 首先,让我们了解Retrofit的基本概念。Retrofit是一个类型安全的HTTP客户端,允许开发者通过创建一个带有注解的接口来定义网络请求。这些...
OkHttp3 使用详解 OkHttp3 是一个功能强大且灵活的网络请求库,它提供了许多实用的特性来帮助开发者快速...通过本文,我们了解了 OkHttp3 的基本使用和 POST 请求的实现方法,同时也了解了如何使用 OkHttp3 上传文件。
本篇文章将详细讲解如何在实际项目中使用OkHttp进行HTTP的GET和POST请求。 首先,我们需要理解HTTP的基本概念。HTTP(超文本传输协议)是一种用于分布式、协作式和超媒体信息系统的应用层协议。HTTP请求主要有两种...
在Android开发中,OkHttp是一个广泛使用的网络请求库,它提供了高效的网络通信能力,并且具有易用、稳定和性能优异的特点。本篇文章将详细介绍如何对OkHttp进行封装,以实现上传和下载过程中进度的实时显示。 一、...
`OkHttpDemo`可能包含一个简单的Android应用,展示如何在实际项目中使用OkHttp进行网络请求,包括初始化OkHttpClient、构建Request、处理响应等步骤。 9. **OkHttpLibrary源码分析** `OkHttpLibrary`可能包含了...
OKHttp的使用主要涉及创建`OkHttpClient`实例、构建`Request`对象、执行请求和处理响应。它提供了丰富的功能,如连接池、拦截器、响应缓存和高效的网络请求管理,是开发Android和Java应用的理想选择。通过学习和使用...
OKHttp3不仅支持GET和POST请求,还提供了丰富的API来处理复杂的网络操作。 ### GET请求 GET请求是最常见的HTTP方法,用于从服务器获取资源。在OKHttp3中,发起GET请求非常简单: ```java OkHttpClient client = ...
本文将深入探讨OkHttp3的使用和封装,旨在帮助开发者更好地理解和掌握这一强大的网络请求工具。 首先,让我们了解OkHttp的基本概念。OkHttp是由Square公司开发的,它提供了一个高效的HTTP客户端接口,具有缓存、...