首页 > 其他分享 >Apache HttpComponents Client详解

Apache HttpComponents Client详解

时间:2023-08-09 13:32:50浏览次数:49  
标签:请求 响应 HttpComponents Client httpPost Apache new HttpClient httpClient


 Apache HttpComponents Client(也称为HttpClient)是一个开源的Java库,用于发送HTTP请求并处理HTTP响应。它提供了一组易于使用的API,用于构建和执行HTTP请求,并处理请求和响应的各个方面,如URL处理、请求头、请求体、响应状态、响应内容等。

Apache HttpComponents Client详解_Apache

下面是一些关于使用Apache HttpComponents Client的常见操作:

  1. 发送GET请求:
// 创建HttpClient对象
CloseableHttpClient httpClient = HttpClients.createDefault();

// 创建HttpGet请求
HttpGet httpGet = new HttpGet("http://example.com");

// 执行请求
CloseableHttpResponse response = httpClient.execute(httpGet);

// 处理响应
try {
    // 获取响应状态码
    int statusCode = response.getStatusLine().getStatusCode();

    // 获取响应内容
    String responseBody = EntityUtils.toString(response.getEntity());

    // 处理响应数据...
} finally {
    // 关闭响应
    response.close();
}

// 关闭HttpClient
httpClient.close();

Apache HttpComponents Client详解_Apache_02

Apache HttpComponents Client详解_HTTP_03

 

发送POST请求:

// 创建HttpClient对象
CloseableHttpClient httpClient = HttpClients.createDefault();

// 创建HttpPost请求
HttpPost httpPost = new HttpPost("http://example.com");

// 设置请求体参数
List<NameValuePair> params = new ArrayList<>();
params.add(new BasicNameValuePair("param1", "value1"));
params.add(new BasicNameValuePair("param2", "value2"));
httpPost.setEntity(new UrlEncodedFormEntity(params));

// 执行请求
CloseableHttpResponse response = httpClient.execute(httpPost);

// 处理响应...

// 关闭HttpClient
httpClient.close();

Apache HttpComponents Client详解_Apache_04

Apache HttpComponents Client详解_创建文件_05

 

 

设置请求头:

httpGet.addHeader("Content-Type", "application/json");
httpPost.setHeader("Authorization", "Bearer token123");

Apache HttpComponents Client详解_创建文件_06

Apache HttpComponents Client详解_创建文件_07

 

 

处理文件上传:

// 创建HttpClient对象
CloseableHttpClient httpClient = HttpClients.createDefault();

// 创建HttpPost请求
HttpPost httpPost = new HttpPost("http://example.com/upload");

// 创建文件
File file = new File("path/to/file");

// 创建文件上传实体
MultipartEntityBuilder builder = MultipartEntityBuilder.create();
builder.addBinaryBody("file", file, ContentType.DEFAULT_BINARY, file.getName());
HttpEntity multipartEntity = builder.build();

// 设置请求实体
httpPost.setEntity(multipartEntity);

// 执行请求...

// 关闭HttpClient
httpClient.close();

Apache HttpComponents Client详解_HTTP_08

Apache HttpComponents Client详解_Apache_09

 

处理重定向:

// 创建HttpClient对象
HttpClientBuilder httpClientBuilder = HttpClientBuilder.create();
httpClientBuilder.setRedirectStrategy(new LaxRedirectStrategy());
CloseableHttpClient httpClient = httpClientBuilder.build();

// 执行请求...

Apache HttpComponents Client详解_HTTP_10

Apache HttpComponents Client详解_创建文件_11

 

这些只是Apache HttpComponents Client库的一些基本用法示例,它还提供了许多其他功能和配置选项,如连接池管理、代理设置、超时设置、SSL/TLS配置等,以满足更复杂的HTTP请求需求。


标签:请求,响应,HttpComponents,Client,httpPost,Apache,new,HttpClient,httpClient
From: https://blog.51cto.com/u_15864767/7018803

相关文章

  • Apache HttpComponents Client详解
     ApacheHttpComponentsClient(也称为HttpClient)是一个开源的Java库,用于发送HTTP请求并处理HTTP响应。它提供了一组易于使用的API,用于构建和执行HTTP请求,并处理请求和响应的各个方面,如URL处理、请求头、请求体、响应状态、响应内容等。下面是一些关于使用ApacheHttpComponentsCl......
  • Apache HttpComponents Client详解
    ​ ApacheHttpComponentsClient(也称为HttpClient)是一个开源的Java库,用于发送HTTP请求并处理HTTP响应。它提供了一组易于使用的API,用于构建和执行HTTP请求,并处理请求和响应的各个方面,如URL处理、请求头、请求体、响应状态、响应内容等。下面是一些关于使用ApacheHttpCompone......
  • Apache HttpComponents Client详解
    ​ ApacheHttpComponentsClient(也称为HttpClient)是一个开源的Java库,用于发送HTTP请求并处理HTTP响应。它提供了一组易于使用的API,用于构建和执行HTTP请求,并处理请求和响应的各个方面,如URL处理、请求头、请求体、响应状态、响应内容等。下面是一些关于使用ApacheHttpCompone......
  • Apache Sqoop安装
    1.切换到/export/server2.上传并解压tarzxvfsqoop-1.4.7.bin__hadoop-2.6.03.设置软连接ln-ssqoop-1.4.7.bin__hadoop-2.6.0sqoop4.切换到/sqoop/conf将sqoop-env-template.sh改名为sqoop-env.shmvsqoop-env-template.shsqoop-env.sh5.编辑配置文件(sqoop-env.sh......
  • prometheus的sdk client_golang 使用 定时器
    之前线上监控的agent都是直接  time.Sleep(time.Duration(collectInterval)*time.Second),多少有些许的low,每次开始采集数据的时间都是从程序开始执行就开始采集,很显然这种偷懒的方式是不合理的。1、简单复制粘贴一下funcAbNormalLoglistener(collectIntervalint){......
  • OPCClient可视化工具使用教程
    OPCClient可视化工具使用教程1、下载OPCClient,直接打开,进入如下界面: 2、点击OPC=>Connect,ServerNode输入服务器ip,点击RefreshList,下面文本框会出现服务名,选择所需要的服务名称,点击OK或双击服务名3、点击OPC=>AddItem,出现下图4、选择左下框,右框出现所有节点,双击节点即......
  • 新一代开源流数据湖平台Apache Paimon入门实操-下
    @目录实战写表插入和覆盖数据更新数据删除数据MergeInto查询表批量查询时间旅行批量增量查询流式查询时间旅行ConsumerID查询优化系统表表指定系统表分区表全局系统表维表CDC集成MySQLKafka支持schema变更实战写表插入和覆盖数据可以使用INSERT语句向表中插入新行或覆盖表中......
  • Apache Spark
    .NETforApacheSpark™|大数据分析(microsoft.com) dotnet/spark:.NETforApache®Spark™makesApacheSpark™easilyaccessibleto.NETdevelopers.(github.com) 使用.NET5体验大数据和机器学习(qq.com)......
  • Apache HTTPD换行解析漏洞(CVE-2017-15715)
    ApacheHTTPD换行解析漏洞(CVE-2017-15715)【项目中遇到】ApacheHTTPD是一款HTTP服务器,它可以通过mod_php来运行PHP网页,其2.4.0~2.4.29版本中存在一个解析漏洞,在解析PHP时,1.php\x0A将按照PHP后缀进行解析,导致绕过一些服务器安全策略。1.环境搭建cdhttpd/CVE-2017-15715/doc......
  • 从 Pulsar Client 的原理到它的监控面板
    背景前段时间业务团队偶尔会碰到一些Pulsar使用的问题,比如消息阻塞不消费了、生产者消息发送缓慢等各种问题。虽然我们有个监控页面可以根据topic维度查看他的发送状态,比如速率、流量、消费状态等信息。但也有几个问题:无法在应用维度查看他所依赖的所有topic的各种......