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://www.codercto.com/soft/d/77.html

极简人工智能

极简人工智能

[英] 理查德·温 / 有道人工翻译、吴乔 / 电子工业出版社 / 2018-3-1 / 50

本书以通俗的语言和生动的案例带领你探索人工智能的世界,全面展示人工智能的概念、理论框架与应用价值,探讨人工智能的过去和将来,是一本深入浅出的人工智能通识书。从蚂蚁习性谈到股票市场,本书将带领你开启人工智能的奇幻之旅。一起来看看 《极简人工智能》 这本书的介绍吧!

SHA 加密
SHA 加密

SHA 加密工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具