OkHttp 简易封装工具 FastHttpClient

码农软件 · 软件分类 · 网络工具包 · 2019-02-25 07:13:19

软件介绍

FastHttpClient 是简易封装 OkHttp 的工具(需要jdk8以上),高效使用http(s) post get 。

用法

1.同步的get

FastHttpClient.get().
        url(url).
        addParams("userName", "icecool").
        addParams("password", "111111").
        build().
        execute();

2.同步的post

FastHttpClient.post().
        url(url).
        addParams("userName", "icecool").
        addParams("password", "111111").
        build().
        execute();

3.异步的get

FastHttpClient.get().
            url(url).
            addParams("userName","icecool").
            addParams("password", "111111").
            build().
            executeAsync(new Callback() {
            @Override
            public void onFailure(Call call, Exception e, int id) {
                //TODO
            }

            @Override
            public void onResponse(Call call,Response response, int id) {
                try {
                    System.out.println(response.body().string());
                } catch (IOException e) {
                }
            }
        });

4.异步的post

FastHttpClient.post().
            url(url).
            addParams("userName","icecool").
            addParams("password", "111111").
            build().
            executeAsync(new Callback() {
            @Override
            public void onFailure(Call call, Exception e, int id) {
                //TODO
            }

            @Override
            public void onResponse(Call call,Response response, int id) {
                try {
                    System.out.println(response.body().string());
                } catch (IOException e) {
                }
            }
        });

5.异步下载文件

FastHttpClient.get().
        url("http://e.hiphotos.baidu.com/image/pic/item/faedab64034f78f0b31a05a671310a55b3191c55.jpg").
        build().addNetworkInterceptor(new DownloadFileInterceptor(){
            @Override
            public void updateProgress(long downloadLenth, long totalLength, boolean isFinish) {
                System.out.println("updateProgress downloadLenth:"+downloadLenth+
                        ",totalLength:"+totalLength+",isFinish:"+isFinish);
            }
        }).
        executeAsync(new DownloadFileCallback("/tmp/tmp.jpg") {//save file to /tmp/tmp.jpg
                @Override
                public void onFailure(Call call, Exception e, int id) {
                    e.printStackTrace();
                }
                @Override
                public void onSuccess(Call call, File file, int id) {
                    super.onSuccess(call, file, id);
                    System.out.println("filePath:"+file.getAbsolutePath());
                }
                @Override
                public void onSuccess(Call call, InputStream fileStream, int id) {
                    System.out.println("onSuccessWithInputStream");
                }
        });
Thread.sleep(50000);

6.上传文件

byte[] imageContent=FileUtil.getBytes("/tmp/test.png");
        response = FastHttpClient.post().
                url(url).
                addFile("file1", "a.txt", "123").
                addFile("file2", "b.jpg", imageContent).
                build().
                connTimeOut(10000).
                execute();
System.out.println(response.body().string());

7.https get

Response response = FastHttpClient.get().url("https://kyfw.12306.cn/otn/").
                build()
                .execute();
System.out.println(response.body().string());

8.https post

Response response = FastHttpClient.post().url("https://kyfw.12306.cn/otn/").
                build()
                .execute();
System.out.println(response.body().string());

本文地址:https://codercto.com/soft/d/77.html

操作系统概念(第六版)

操作系统概念(第六版)

(美)西尔伯斯查兹 / 郑扣根 / 高等教育出版社 / 2005-11 / 55.00元

《操作系统概念》(第6版翻译版)是讨论了操作系统中的基本概念和算法,并对大量实例(如Linux系统)进行了研究。全书内容共分七部分。第一部分概要解释了操作系统是什么、做什么、是怎样设计与构造的,也解释了操作系统概念是如何发展起来的,操作系统的公共特性是什么。第二部分进程管理描述了作为现代操作系统核心的进程以及并发的概念。第三部分存储管理描述了存储管理的经典结构与算法以及不同的存储管理方案。第四部分......一起来看看 《操作系统概念(第六版)》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换