支持HTTP协议的客户端工具包HttpClient的应用详解

【API】Apache HttpClient HTTP协议的客户端/编程工具包 HttpClient 是Apache Jakarta Common 下的子项目,可以用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议; HTTP 协议是现在 Internet 上使用得最多、最重要的协议,越来越多的 Java 应用程序需要直接通过 HTTP 协议来访问网络资源; 虽然在 JDK 的 java net包中已经提供了访... 阅读详情

目录

概 述:

HttpClient 的应用详解:

一、HttpClient 概述

二、HttpClient 主要功能

三、HttpClient 主要特性

四、HttpClient 常见状态码

五、HttpClient 一般使用步骤

六、HttpClient 使用示例

七、HttpClient 示例源代码地址【GitHub】

八、HttpClientUtils 工具类封装【HttpClient的实际应用】

九、参考文献


概 述:

在系统研发过程中,系统架构分为服务端、PC端、移动端、IOS端等其它端(业务场景比较复杂),在数据交互的中使用到了HttpClient,比如我们的移动端通过HttpClient到服务端的这样一个数据交互模式,当然还涉及了一些高可用等,就不在这儿讲了,那么,本篇博文主要是针对HttpClient的一些介绍及实际应用示例。

 

HttpClient 的应用详解:

一、HttpClient 概述

HttpClient 是 Apache Jakarta Common 下的子项目,可以用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本。

HttpClient 通过 http 协议来访问网络资源,它可以提供有效的、最新的、功能丰富 http 客户端。为了更好的拓展,HttpClient 即支持基本的 http 协议,还支持了 http-aware 客户端程序,如 web 浏览器,Webservice 客户端,以及利用或者拓展 http 协议的分布式系统等。

 

二、HttpClient 主要功能

1)、实现了所有 HTTP 的方法,包括常用的有:GET、POST、PUT、PATCH、DELETE等);

2)、支持自动转发;

3)、支持 HTTPS 协议;

4)、支持代理服务器;

 

三、HttpClient 主要特性

1)、HttpClient 是一个基于 HttpCore 的客户端 Http 传输类库;
2)、基于传统的 IO;
3)、与内容无关的;

 

四、HttpClient 常见状态码

 

200 OK

请求已成功,请求所希望的响应头或数据体将随此响应返回;

201 Created

请求已经被实现,而且有一个新的资源已经依据请求的需要而建立,且其 URI 已经随Location 头信息返回;

202 Accepted

服务器已接受请求,但尚未处理;

400 Bad Request

语义有误,当前请求无法被服务器理解;

请求参数有误;

403 Forbidden

服务器已经理解请求,但是拒绝执行它;

404 Not Found

请求失败,请求所希望得到的资源未被在服务器上发现;

405 Method Not Allowed

请求行中指定的请求方法不能被用于请求相应的资源;

415 Unsupported Media Type

对于当前请求的方法和所请求的资源,请求中提交的实体并不是服务器中所支持的格式,因此请求被拒绝;

500 Internal Server Error

服务器遇到了一个未曾预料的状况,导致了它无法完成对请求的处理;

501 Not Implemented

服务器不支持当前请求所需要的某个功能;

502 Bad Gateway

作为网关或者代理工作的服务器尝试执行请求时,从上游服务器接收到无效的响应;

503 Service Unavailable

由于临时的服务器维护或者过载,服务器当前无法处理请求;

HTTP状态码:【HTTP状态码详解,这个比较全的】

 

五、HttpClient 一般使用步骤

1)、创建 HttpClient 对象;

2)、创建请求方法的实例,并指定请求URL。例如:需要发送 GET 请求,创建 HttpGet 对象;如果需要发送 POST 请求,创建HttpPost 对象等;

3)、配置请求参数。例如:需要发送 GET 请求,可调用 HttpGet 的 setParams() 方法添加参数并通过 URIBuilder 对象的 setParameter 方法来构建请求参数;如果需要发送 POST 请求,则调用 setEntity(HttpEntity entity) 方法来设置请求参数;

4)、通过调用 HttpClient 对象的 execute(final HttpUriRequest request) 发送请求,该方法返回一个 HttpResponse 对象;

5)、通过调用 HttpResponse 的 getStatusLine() 方法的 getStatusCode() 获取响应状态码;调用 HttpResponse 的 getAllHeaders()、getHeaders(String name) 方法可获取消息的响应头;调用 HttpResponse 的 getEntity() 方法可获取 HttpEntity对象,该对象包装了服务器的响应内容,程序可通过该对象获取服务器的响应内容,并通过 EntityUtils 对象的 toString(HttpEntity entity, String defaultCharset) 来转换响应内容的字符集;

6)、释放资源,关闭连接。无论请求是否执行成功,都必须释放连接,避免出现资源异常占用、挂起等现象;

 

六、HttpClient 使用示例

doGet无参示例:

package com.huazai.httpclient.get;

import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;

/**
 * 
 * @author HuaZai
 * @contact who.seek.me@java98k.vip
 *          <ul>
 * @description 测试不带参数的GET请求
 *              </ul>
 * @className DoGET
 * @package com.huazai.httpclient.get
 * @createdTime 2017年06月17日
 *
 * @version V1.0.0
 */
public class DoGET
{

	public static void main(String[] args) throws Exception
	{

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

		// 创建HttpGet请求对象
		HttpGet httpGet = new HttpGet("https://xiaoyuan.zhaopin.com/api/sou?pageNumber=2");

		CloseableHttpResponse response = null;
		try
		{
			// 执行请求
			response = httpclient.execute(httpGet);
			// 是否请求成功
			if (response.getStatusLine().getStatusCode() == 200)
			{
				// 输出响应内容
				String content = EntityUtils.toString(response.getEntity(), "UTF-8");
				System.out.println("内容长度:" + content.length());
				System.out.println(content);
			}
		} finally
		{
			if (response != null)
			{
				response.close();
			}
			httpclient.close();
		}

	}

}

doGet有参示例:

package com.huazai.httpclient.get;

import java.net.URI;

import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.utils.URIBuilder;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;

/**
 * 
 * @author HuaZai
 * @contact who.seek.me@java98k.vip
 *          <ul>
 * @description 测试带参数的GET请求
 *              </ul>
 * @className DoGETParam
 * @package com.huazai.httpclient.get
 * @createdTime 2017年06月17日
 *
 * @version V1.0.0
 */
public class DoGETWithParam
{

	public static void main(String[] args) throws Exception
	{

		// 创建Httpclient对象
		CloseableHttpClient httpclient = HttpClients.createDefault();

		// 定义请求的地址及参数
		URI uri = new URIBuilder("https://xiaoyuan.zhaopin.com/api/sou").setParameter("pageNumber", "1")
				.setParameter("keyWord", "java").build();

		System.out.println(uri);

		// 创建HttpGet请求对象
		HttpGet httpGet = new HttpGet(uri);

		CloseableHttpResponse response = null;
		try
		{
			// 执行请求
			response = httpclient.execute(httpGet);
			// 是否请求成功
			if (response.getStatusLine().getStatusCode() == 200)
			{
				// 输出响应内容
				String content = EntityUtils.toString(response.getEntity(), "UTF-8");
				System.out.println(content);
			}
		} finally
		{
			if (response != null)
			{
				response.close();
			}
			httpclient.close();
		}

	}

}

 doPost无参示例:

package com.huazai.httpclient.post;

import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;

/**
 * 
 * @author HuaZai
 * @contact who.seek.me@java98k.vip
 *          <ul>
 * @description 测试不带参数的Post请求
 *              </ul>
 * @className DoPOST
 * @package com.huazai.httpclient.post
 * @createdTime 2017年06月17日
 *
 * @version V1.0.0
 */
public class DoPOST
{

	public static void main(String[] args) throws Exception
	{

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

		// 创建HttpPost请求对象
		HttpPost httpPost = new HttpPost("http://www.oschina.net/");

		// 设置请求头
		httpPost.setHeader("User-Agent",
				"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.97 Safari/537.36");
		CloseableHttpResponse response = null;
		try
		{
			// 执行请求
			response = httpclient.execute(httpPost);
			// 是否请求成功
			if (response.getStatusLine().getStatusCode() == 200)
			{
				// 输出请求内容
				String content = EntityUtils.toString(response.getEntity(), "UTF-8");
				System.out.println(content);
			}
		} finally
		{
			if (response != null)
			{
				response.close();
			}
			httpclient.close();
		}

	}

}

doPost有参示例:

package com.huazai.httpclient.post;

import java.util.ArrayList;
import java.util.List;

import org.apache.http.NameValuePair;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils;

/**
 * 
 * @author HuaZai
 * @contact who.seek.me@java98k.vip
 *          <ul>
 * @description 测试带参数的POST请求
 *              </ul>
 * @className DoPOSTParam
 * @package com.huazai.httpclient.post
 * @createdTime 2017年06月17日
 *
 * @version V1.0.0
 */
public class DoPOSTWithParam
{

	public static void main(String[] args) throws Exception
	{

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

		// 创建HttpPost请求对象
		HttpPost httpPost = new HttpPost("http://39.106.243.121/eto/add");

		// 封装请求参数列表
		List<NameValuePair> pairs = new ArrayList<NameValuePair>(0);
		pairs.add(new BasicNameValuePair("CityId", "530"));
		pairs.add(new BasicNameValuePair("CityName", "北京"));
		pairs.add(new BasicNameValuePair("SubCompanyNumber", "CC000773458D90000002000"));
		pairs.add(new BasicNameValuePair("CompanyName", "Oracle"));
		pairs.add(new BasicNameValuePair("CompanyTypeId", "5"));
		pairs.add(new BasicNameValuePair("IndustryName", "软件"));
		pairs.add(new BasicNameValuePair("CompanySize", "10000人以上"));
		pairs.add(new BasicNameValuePair("CompanyNumber", "DC000773458"));
		// 构造一个Form表单
		UrlEncodedFormEntity formEntity = new UrlEncodedFormEntity(pairs);
		// 设置请求体
		httpPost.setEntity(formEntity);

		CloseableHttpResponse response = null;
		try
		{
			// 执行请求
			response = httpclient.execute(httpPost);
			// 是否请求成功
			if (response.getStatusLine().getStatusCode() == 200)
			{
				// 输出请求内容
				String content = EntityUtils.toString(response.getEntity(), "UTF-8");
				System.out.println(content);
			}
		} finally
		{
			if (response != null)
			{
				response.close();
			}
			httpclient.close();
		}

	}

}

 

七、HttpClient 示例源代码地址【GitHub】

依赖的父级项目:huazai-parent

HttpClient 示例项目:huazai-httpclient

如下图:

 

八、HttpClientUtils 工具类封装【HttpClient的实际应用】

【 HttpClientUtils工具类封装 】

 

九、参考文献

【HTTPCLIENT_APACHE官网】

【HTTPCLIENT_百度百科】

 


 好了,关于 支持HTTP协议的客户端工具包HttpClient的应用详解 就写到这儿了,如果还有什么疑问或遇到什么问题欢迎扫码提问,也可以给我留言哦,我会一一详细的解答的。 
歇后语:“ 共同学习,共同进步 ”,也希望大家多多关注CSND的IT社区。


作       者:华    仔
联系作者:who.seek.me@java98k.vip
来        源:优快云 (Chinese Software Developer Network)
原        文:https://blog.youkuaiyun.com/Hello_World_QWP/article/details/102912684
版权声明:本文为博主原创文章,请在转载时务必注明博文出处!
使用python的requests库爬取数据时候遇到的ConnectionError     最近刚得到一个爬取网络数据的源代码,刚开始爬取少量数据的时候,一切顺利。可是随着爬取的数据越来越庞大,问题也就越来越多了。遇到的一个比较头疼的问题就是连接错误。具体错误信息如下:    Traceback (most recent call last):  File "new_request2.py", line 82, in &lt;module&gt;    result = requ... 阅读详情

相关推荐

【踩坑日记3】NewConnectionError(‘<urllib3.connection.HTTPSConnection object at 0x7fcadb7b0430>: Failed to

代码涉及到huggingface的模型,但是服务器没有VPN。将模型下载至服务器中。

longii11的博客 3652

【解决】Python——Max retries exceeded with url: (Caused by NewConnectionError(‘<urllib3.connection

解决使用requests库请求时,时间长并报错的问题

爱喝星冰乐的博客 1万+

ConnectionError(<urllib3.connection.HTTPConnection object at 0x7fa148c51eb0>: Failed to establish a

出现错误通常与相关,表明客户端无法找到通往 Elasticsearch (ES) 集群主机的有效路由。

NLP与推荐算法 645

HttpClient详细使用示例

HTTP 协议可能是现在 Internet 上使用得最多、最重要的协议了,越来越多的 Java 应用程序需要直接通过 HTTP 协议来访问网络资源。虽然在 JDK 的 java net包中已经提供了访问 HTTP 协议的基本功能,但是对于大部分应用程序来说,JDK 库本身提供的功能还不够丰富和灵活。HttpClient 是 Apache Jakarta Common 下的子项目,用...

JustryDeng 56万+

Java发送Http请求(HttpClient)

文章目录一、简介1、HttpClient2、HTTP协议的特点如下3、使用HttpClient发送请求、接收响应很简单,一般需要如下几步即可二、spring boot集成HttpClient1、pom.xml添加httpclient的jar包依赖2、测试类3、工具类 一、简介 1、HttpClient HttpClient 是Apache HttpComponents 下的子项目,用来提供高效的、...

lydms的博客 1万+

CCC数字钥匙3.0标准解读(16)

介绍通信过程最重要部分:身份认证和加密.介绍需要身份认证的过程和需要加密的数据及过程.

weixin_41738640的博客 1531

HttpClient | 支持 HTTP 协议的客户端编程工具包

HttpClient 是Apache Jakarta Common 下的子项目,可以用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议。

逐梦苍穹的博客 1987

三极管和MOS管工作原理详解

PN结的形成 PN结是三极管以及场效应管中最基本的组成部分,要想彻底搞明白三极管以及场效应管的工作原理,必须先搞清楚PN结形成的原理和工作特性。 本征半导体以及空穴对 本征半导体(intrinsic semiconductor))完全不含杂质且无晶格缺陷的纯净半导体称为本征半导体。主要常见代表有硅、锗这两种元素的单晶体结构。硅、锗都是4价原子,在半导体内部形成相对稳定的共价键结构,如图 1所

技术交流是便宜的的博客 10万+

httpclient 调用工具(同时支持 HTTP 和 HTTPS 协议)

简介 接口调用是作为后端开发人员在编码过程中的日常,而 HTTP 协议可能是现在 Internet 上使用最多、最重要的协议。虽然在 JDK 的 java net包中已经提供了访问 HTTP 协议的基本功能,但是对于大部分应用程序来说,JDK 库本身提供的功能还不够丰富和灵活。HttpClient 是 Apache Jakarta Common 下的子项目,用来提供高效的、最新的、功能丰富的

qiangcuo6087的博客 2822

STM32CubeIDE无法连接STLinkV2的一个可能原因

前些日子买了个新的STLINKV2 , ( 老的被我家猫猫一泡尿送上西天了)刚开始还挺正常的, 后来有一天就突然间发现无法调试了.网上尝试了各种方法, 各种操作. 百度了好久. 最后好在我自己研究出来了.我使用的是 STM32CubeIDE 这个开发工具调试选项如下图其它的不需要修改, 然后点击下面的apply 按钮, 然后调试Debug, 提示 No STLink 如下图后来尝试了下载ST-LINK Utility 用它是可以正常连接STLink的, 然后也能正常进行升级操作.

走错路的程序员 9822

别再到处找密钥了!手把手教你搞定Halcon 24.11/25.05的试用授权(附每月更新提醒)

本文详细介绍了Halcon 24.11/25.05试用授权的获取与配置方法,包括解密新版授权机制、快速配置指南、每月更新规律及多版本共存管理技巧。帮助开发者避免常见授权问题,提升工作效率,特别适合机器视觉领域的初学者和专业人士。

weixin_29238147的博客 1134

HttpClient使用详解

HttpClient:是一个接口 首先需要先创建一个DefaultHttpClient的实例 HttpClient httpClient=new DefaultHttpClient(); 发送GET请求: 先创建一个HttpGet对象,传入目标的网络地址,然后调用HttpClient的execute()方法即可: HttpGet HttpGet=new HttpGet(“http://w

姚佳伟 1万+

GVINS数据采集(u-blox fp9 + D435i)

1、配置千寻的RTK账号 采集数据当天购买千寻的RTK账号,然后在Window下,输入账号和密码 (具体的步骤如之前面连接所示),查看u-center软件上的信息,确保接收机可以收到RTK信息; 2、查看Linux系统下u-blox是否可以正常接受GPS信号和RTK数据流 1、GPS信号信息 // 打开端口 1 cd ublox_f9p/src // 或者在终端1下也可以 source devel/setup.bash r.....................

努力努力努力 2609

http请求pom 客户端_详解HttpClient用法

上篇文章给大家介绍了HttpClient详细使用示例详解,喜欢的朋友可以点击查看,今天继续给大家介绍HttpClient用法,具体内容如下所示;1.简介HttpClient是Apache Jakarta Common下的子项目,用来提供高效的、最新的、功能丰富的支持HTTP协议的客户端编程工具包,并且它支持HTTP协议最新的版本和建议。HttpClient已经应用在很多的项目中,比如Apache ...

weixin_34893555的博客 2196

用 XCO 库一键找出某个 ABAP 类的全部子类

ABAP XCO库子类枚举技术解析 本文介绍了在ABAP项目中如何利用XCO库高效获取类的继承层次结构。传统方法使用CL_ABAP_CLASSDESCR或手动维护映射表存在效率低、易遗漏的问题。新方法通过XCO库的IF_XCO_AO_CLASS接口,可简洁地获取父类的所有子类(包括间接子类)。 核心API链式调用: 获取类句柄:xco_cp_abap=>class() 导航子类集合:subclasses->all 获取结果:get()返回类引用表或get_names()返回类名列表 典型应用场景

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 127

2ED2410-EM的使用

2ED2410-EM的使用

让你爱上电路设计 967

HttpClient,HTTP 协议的客户端编程工具包

HttpClient 是Apache Jakarta Common 下的子项目,可以用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议。发送HTTP请求接收响应数据当我们在使用扫描支付、查看地图、获取验证码、查看天气等功能时HttpClient的maven坐标:HttpClient:Http客户端对象类型,使用该类型对象可发起Http请求。HttpClients:可认为是构建器,可创建HttpClient对象。

think_act的博客 243

循环神经网络(RNN)原理及BPTT算法

因循环神经网络基于ANN之上,理解ANN有助于理解RNN,所以阅读此文,建议先阅读。

L 1768

HttpClient是什么 HTTP协议 访问网络资源

Httpclient:HTTP协议 访问网络资源(关键字) 提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持HTTP 协议最新的版本和建议。ommons-httpclient项目:来简化HTTP客户端与服务器进行各种通讯编程。 通信避免不了请求,如何请求哪?请求: GET, HEAD, POST, PUT, DELETE, TRACE

天生我材必有用,千金散尽还复来。 1648

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

HttpClient、OKhttp、RestTemplate接口调用对比( Java HTTP 客户端)

HttpClient、OKhttp、RestTemplate接口调用对比 HttpClient、OkHttp 和 RestTemplate 是三种常用的 Java HTTP 客户端库,它们都可以用于发送 HTTP 请求和接收 HTTP 响应,但在一些方面有所不同。下面是它们之间的一些对比: HttpClient: Apache HttpClient: ○ 成熟稳定: Apache HttpClient 是 Apache 软件基金会的一个项目,经过多年的发展,已经非常成熟和稳定。 ○ 灵活性: 提供了丰富的

刘皇叔说Java的博客 6452

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Apache HttpClient是Apache Jakarta Common下的子项目,用于提供高效、最新且功能丰富的支持HTTP协议的客户端编程工具包

HttpClient的特性是基于标准的、纯净的Java语言实现,提供了很多自定义的请求内容的API,包括连接超时时间设置等,可以灵活地发送HTTP请求。相比传统JDK自带的URLConnection,HttpClient增加了易用性和灵活性,使客户端发送HTTP请求变得容易,同时也方便了开发人员测试基于HTTP协议的接口,从而提高了开发效率和代码的健壮性。总之,Apache HttpClient是一个功能强大的Java HTTP客户端库,它简化了HTTP通信的过程,并提供了丰富的API供开发人员使用。

[Blog][Domain] programb.blog.youkuaiyun.com 885

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

c# HttpClient的HTTP/2支持

HTTP/2 是 HTTP 协议的主要修订版。HTTP/2 的一些显著功能是支持标头压缩和通过同一连接完全多路复用流。虽然 HTTP/2 保留了 HTTP 的语义(HTTP 标头、方法等),但它在数据框架和通过无线方式发送方面与 HTTP/1.x 是一种变化。 HttpClient 现在添加用于发出 HTTP/2 请求的支持。当默认值仍为 HTTP/1.1 时,您可以通过在 HTTP 请求消息上设...

weixin_33981932的博客 1973

HttpClient / Http客户端

HttpClientHttp客户端) 是Apache Jakarta Common 下的子项目,可以用来提供高效率最新的功能丰富的支持HTTP协议的客户端编程工具包,其支持HTTP协议最新的版本和建议。说的直白点就是我们可在java程序中可通过HttpClient(Http客户端) 这个工具包来构造http请求发送http请求接收响应结果解析(请求)返回的结果。(在Java中通过编码的方式来发送http请求。 .....

m0_70720417的博客 362

一、HttpClient简介与HTTP简介

1.HttpClient 简介 超文本传输协议(HTTP)也许是当今互联网上所使用的最重要的协议了。 Web services,联网设备和网络计算的发展,都持续 扩展了HTTP协议的角色,超越了用户使用的Web浏览器范畴, 同时,也增加了需要HTTP协议支持的应用程序的数量。   尽管java.net包提供了通过HTTP访问资源的基本功能,但它缺少足够的灵活性和其它很多应用程序需要的功...

bigbighenry的博客 1147

HTTP 四、HttpClient的使用

HttpClient是Apache Jakarta Common下的子项目,用来提供高效的、最新的、功能丰富的支持HTTP协议的客户端编程工具包,并且它支持HTTP协议最新的版本和建议。HttpClient已经应用在很多的项目中,比如Apache Jakarta上很著名的另外两个开源项目Cactus和HTMLUnit都使用了HttpClient。HTTP和浏览器有点像,但却不是浏览器。

kkkkatoq的博客 1074

功能强大的HTTP协议工具包 - HttpClient

<imgsrc=http://www.javatang.com/wp-content/httpclient_logo.pngalt=httpclient_logo.png /><a href=http://jakarta.apache.org/commons/httpclient/target=_blank target=_blank>HttpCli

技术和生活 767
上一篇: Can‘t connect to any repository: 的解决办法, 在Push代码,提交代码到代码仓库的时候,提示不能连接到该代码仓库
下一篇: 分布式消息中间件,ActiveMQ 消息中间件进阶与应用详解
TechBro华仔
TechBro华仔 优质创作者: Java技术领域 优质创作者: Java技术领域 领域专家: 后端开发技术领域 领域专家: 后端开发技术领域
博客等级 码龄11年 5万+粉丝 430原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

TechBro华仔

日拱一卒无有尽,功不唐捐终入海

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值