栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

HttpClient4.2 Fluent API 的简单了解

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

HttpClient4.2 Fluent API 的简单了解

1. 什么是HttpClient

1.1 定义

虽然在 JDK 的 java.net 包中已经提供了访问 HTTP 协议的基本功能,但是对于大部分应用程序来说,JDK 库本身提供的功能还不够丰富和灵活。HttpClient 是 Apache Jakarta Common 下的子项目,用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议。

1.2 基本功能

实现了所有 HTTP 的方法(GET、POST、PUT、HEAD、DELETE、HEAD、OPTIONS 等)

支持 HTTPS 协议

支持代理服务器(Nginx等)

支持自动(跳转)转向

 官网 HttpClient - HttpClient Home

2. 什么是HttpClient Fluent API(流式接口)

2.1 定义

4.2版本的 HttpClient 带来了一组非常容易使用的流式 API(Fluent API) 接口。

暴露的流式API(Fluent API) 接口中仅仅是 HttpClient 最基本的一些功能,这些接口是在不需要使用

HttpClient 丰富的灵活性时,为了一些简单的功能而准备的。

2.2 Fluent API 执行 简单的HTTP 请求的示例

import org.apache.http.HttpVersion;
import org.apache.http.client.fluent.Request;
import org.apache.http.entity.ContentType;

import java.io.IOException;

public class FluentRequests {
    public static void main(String[] args) throws IOException {
        String str = Request.Get("https://www.baidu.com")
                .connectTimeout(5000)
                .socketTimeout(5000)
                .execute().returnContent().asString();
        System.out.println("*******************************************");
        System.out.println(str);

        byte[] bytes = Request.Post("https://blog.csdn.net/sulia1234567890/article/details/120509672")
                .useExpectContinue()
                .version(HttpVersion.HTTP_1_1)
                .bodyString("important stuff", ContentType.DEFAULT_TEXT)
                .execute().returnContent().asBytes();
        System.out.println("*******************************************");
        System.out.println(bytes);
   }

}

结果输出:

*******************************************

(省略一部分打印内容)

 src=//www.baidu.com/img/gs.gif>

九月 29, 2021 11:06:31 上午 org.apache.http.client.protocol.ResponseProcesscookies processcookies
警告: Invalid cookie header: "Set-cookie: uuid_tt_dd=10_20323631800-1632884791615-716543; Expires=Thu, 01 Jan 2025 00:00:00 GMT; Path=/; Domain=.csdn.net;". Invalid 'expires' attribute: Thu, 01 Jan 2025 00:00:00 GMT
九月 29, 2021 11:06:31 上午 org.apache.http.client.protocol.ResponseProcesscookies processcookies
警告: Invalid cookie header: "Set-cookie: dc_session_id=10_1632884791615.372710; Expires=Thu, 01 Jan 2025 00:00:00 GMT; Path=/; Domain=.csdn.net;". Invalid 'expires' attribute: Thu, 01 Jan 2025 00:00:00 GMT
*******************************************
[B@21a947fe

2.3 Maven的pom.xml配置文件中要引入依赖包


    org.apache.httpcomponents
    httpclient
    4.5.13




    org.apache.httpcomponents
    fluent-hc
    4.5.13
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/275022.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号