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封装
okhttp3进行https的post调用。代码比较详细,也有错误说明。
这个是关于android的OkHttp3框架的代码实例,里面包括POST和GET请求,请大家多多指教。
okhttp3进行http的post调用,代码比较详细。还有错误说明。
SpringBoot OkHttp3,里面包含了各种测试代码,其中包含了get,post,文件上传等测试
这个Demo里简单使用okHttp做了一些操作,包括get请求,post请求,下载图片,文件上传的使用,对于初学okHttp的人比较有用
08-01 OKHttp3的post和get请求 08-01 OKHttp3的post和get请求
1、首先,OKHttp官方要求我们最好用单例模式去使用OKHttpClient类的,因此我们自定义一个OKHttpHelper类,并且使用单例模式。
本文实例为大家分享了使用OkHttp发送post请求的具体代码,供大家参考,具体内容如下 MainActivity.java public class MainActivity extends AppCompatActivity { private EditText mEt_qq; private EditText mEt_...
okhttp的请求方式的使用,里面封装了get和post请求
MD5、RSA、Base64Utils、DialogUtil、ZXingUtils、GlideUtil、、、工具类 自己总结了一些必备的工具类,可直接放入工程,简单调用 对OkHttp进行了封装,简单调用,便于操作 进行了post、get、文件上传等进行封装
一个okhttp的简单例子,包括get,post,缓存,sesson保持
okhttp3的简单的封装使用,只有get post2种网络请求的使用
使用java发送get和post请求实践
网络框架Okhttp的简单讲解,通过上传下载以及get和post请求来讲解Okhttp的使用。
OkHttp(github.com/square/okhttp)是近来人气迅速攀升的一款第三方安卓HTTP支持包,这里我们就来详解Android中使用OkHttp发送HTTP的post请求的方法
将okhttp封装在一个公用类中,方便实用
1,昨天把okHttp仔细的看了一下,以前都是调用同事封装好了的网络框架,直接使用很容易,但自己封装却不是那么简单,还好,今天就来自我救赎一把,就和大家写写从最基础的OKHttp的简单get、post的使用,再到它的封装...
使用 OkHttp 版本如下: compile 'com.squareup.okhttp3:okhttp:3.4.1' 代码如下: protected void post_file(final String url, final Map<String> map, File file) { OkHttpClient client = new ...