博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
OkHttp3Util工具类
阅读量:4181 次
发布时间:2019-05-26

本文共 3879 字,大约阅读时间需要 12 分钟。

一、pom文件配置

com.squareup.okhttp3
okhttp
3.10.0

二、编码内容

package OkHttp3;import okhttp3.*;import java.io.IOException;import java.util.HashMap;import java.util.Iterator;import java.util.Map;import java.util.Set;/** * @author xiaobu * @version JDK1.8.0_171 * @date on  2019/3/4 10:56 * @description V1.0 */public class OkHttp3Util {    //MEDIA_TYPE <==> Content-Type    private static final MediaType MEDIA_TYPE_JSON = MediaType.parse("application/json; charset=utf-8");    //MEDIA_TYPE_TEXT post请求不是application/x-www-form-urlencoded的,全部直接返回,不作处理,即不会解析表单数据来放到request parameter map中。所以通过request.getParameter(name)是获取不到的。只能使用最原始的方式,读取输入流来获取。    private static final MediaType MEDIA_TYPE_TEXT = MediaType.parse("application/x-www-form-urlencoded; charset=utf-8");    /**     * @param url getUrl     * @return java.lang.String     * @author xiaobu     * @date 2019/3/4 11:20     * @descprition     * @version 1.0     */    public static String sendByGetUrl(String url) {        String result;        OkHttpClient client = new OkHttpClient();        Request request = new Request.Builder()                .url(url)                .build();        Response response = null;        try {            response = client.newCall(request).execute();            assert response.body() != null;            result = response.body().string();            return result;        } catch (IOException e) {            e.printStackTrace();        }        return null;    }    /**     * @param url , json     * @return java.lang.String     * @author xiaobu     * @date 2019/3/4 11:13     * @descprition     * @version 1.0 post+json方式     */    public static String sendByPostJson(String url, String json) {        OkHttpClient client = new OkHttpClient();        RequestBody body = RequestBody.create(MEDIA_TYPE_JSON, json);        Request request = new Request.Builder()                .url(url)                .post(body)                .build();        Response response = null;        try {            response = client.newCall(request).execute();            assert response.body() != null;            return response.body().string();        } catch (IOException e) {            e.printStackTrace();        }        return null;    }    /**     * @author xiaobu     * @date 2019/3/4 15:58     * @param url , params]     * @return java.lang.String     * @descprition  post方式请求     * @version 1.0     */    public static String sendByPostMap(String url, Map
params) { String result; OkHttpClient client = new OkHttpClient(); StringBuilder content = new StringBuilder(); Set
> entrys = params.entrySet(); Iterator
> iterator = params.entrySet().iterator(); while (iterator.hasNext()) { Map.Entry
entry = iterator.next(); content.append(entry.getKey()).append("=").append(entry.getValue()); if (iterator.hasNext()) { content.append("&"); } } RequestBody requestBody = RequestBody.create(MEDIA_TYPE_TEXT, content.toString()); Request request = new Request.Builder().url(url).post(requestBody).build(); Response response = null; try { response = client.newCall(request).execute(); assert response.body() != null; result = response.body().string(); System.out.println("result = " + result); return result; } catch (IOException e) { e.printStackTrace(); } return null; } public static void main(String[] args) { //String url = "http://172.18.9.166:8080/user/login.kq"; //String url = "http://172.18.9.166:8899/demo/postByMap?loginName=admin&loginPassword=Hans1107laser"; String url = "http://172.18.9.166:8899/demo/postByMap"; Map
params = new HashMap<>(); params.put("loginName", "admin"); params.put("loginPassword", "123456"); String result = sendByPostMap(url, params); System.out.println("result = " + result); }}

 

转载地址:http://tfgai.baihongyu.com/

你可能感兴趣的文章
Spring Data JPA |自定义非实体类的映射
查看>>
SpringBoot | 常用注解记录
查看>>
JavaBean对象转换EntityUtils工具类
查看>>
Maven常用命令
查看>>
SpringBoot | 运行报错,无法加载oracle连接驱动
查看>>
为什么阿里巴巴禁止在 foreach 循环里进行元素的 remove/add 操作
查看>>
AWS EC2如何从普通用户切换为root用户
查看>>
click方法不生效的
查看>>
mysql排行榜并列与不并列
查看>>
SpringBoot | Mybatis申明为Mapper文件
查看>>
JPA主键生成策略
查看>>
byte数组和InputStream的相互转换
查看>>
InputStream,InputStreamReader和Reader之间的区别与关系
查看>>
Java中System.arraycopy方法的使用
查看>>
tk.mybatis的使用记录
查看>>
遍历获取目录下的所有文件
查看>>
从指定服务器路径下载文件
查看>>
EasyExcel读取和写入java model数据
查看>>
《C编译原理》共享库的动态加载和静态加载
查看>>
《Android系统学习》第二章:如何制作OTA U盘升级包
查看>>