Java网络通信之HttpClient

Java 的 Apache HttpClient 高级进阶:掌握网络通信的艺术 定制请求头:使用添加自定义请求头。处理 SSL/TLS 安全连接:使用构建 SSL 上下文,并设置信任策略。管理连接池:使用管理连接池。使用代理服务器:通过设置代理服务器。发送 POST 请求:使用HttpPost方法发送 JSON 数据。文件上传:使用构建多部分实体,上传文件。掌握了这些高级特性之后,你将能够更加高效地使用 Apache HttpClient 库来处理复杂的网络通信需求。希望这篇指南对你有所帮助!如果你有任何疑问或想要进一步了解的内容,请随时告诉我。😉。 阅读详情
HttpClient 是 Apache Jakarta Common 下的子项目,可以用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议。在Android系统中内置了HttpClient。Android下可以试试Square的OkHttp。 
http://hc.apache.org/httpcomponents-client-ga/index.html 
版本:httpclient-4.2.jar
 
1、基本请求  
Java代码   收藏代码
  1. //创建一个客户端  
  2. HttpClient client = new DefaultHttpClient();  
  3.   
  4. //创建一个get方法  
  5. HttpGet get = new HttpGet("http://www.baidu.com");  
  6.   
  7. //执行请求  
  8. HttpResponse res = client.execute(get);  
  9.   
  10. //获取协议版本・・・「HTTP/1.1」  
  11. System.out.println(res.getProtocolVersion());  
  12. //获取返回状态码・・・「200」  
  13. System.out.println(res.getStatusLine().getStatusCode());  
  14. //获取原因短语・・・「OK」  
  15. System.out.println(res.getStatusLine().getReasonPhrase());  
  16. //获取完整的StatusLine・・・「HTTP/1.1 200 OK」  
  17. System.out.println(res.getStatusLine().toString());  
  18.   
  19. //获取返回头部信息  
  20. Header[] headers = res.getAllHeaders();  
  21. for (Header header : headers) {  
  22.     System.out.println(header.getName() + ": " + header.getValue());  
  23. }  
  24.   
  25. //获取返回内容  
  26. if (res.getEntity() != null) {  
  27.     System.out.println(EntityUtils.toString(res.getEntity()));  
  28. }  
  29.   
  30. //关闭流  
  31. EntityUtils.consume(res.getEntity());  
  32.   
  33. //关闭连接  
  34. client.getConnectionManager().shutdown();  
2、操作Cookie  
Java代码   收藏代码
  1. //生成Cookie  
  2. CookieStore cookieStore = new BasicCookieStore();  
  3. BasicClientCookie stdCookie = new BasicClientCookie("name", "value");  
  4. stdCookie.setVersion(1);  
  5. stdCookie.setDomain(".baidu.com");  
  6. stdCookie.setPath("/");  
  7. stdCookie.setSecure(true);  
  8. stdCookie.setAttribute(ClientCookie.VERSION_ATTR, "1");  
  9. stdCookie.setAttribute(ClientCookie.DOMAIN_ATTR, ".baidu.com");  
  10. cookieStore.addCookie(stdCookie);  
  11.   
  12. DefaultHttpClient client1 = new DefaultHttpClient();  
  13. client1.setCookieStore(cookieStore);  
  14.   
  15. client1.execute(new HttpGet("http://www.baidu.com/"));  
  16.   
  17. //获取Cookie  
  18. DefaultHttpClient client2 = new DefaultHttpClient();  
  19. HttpGet httpget = new HttpGet("http://www.baidu.com/");  
  20.   
  21. HttpResponse res = client2.execute(httpget);  
  22.   
  23. List<Cookie> cookies = client2.getCookieStore().getCookies();  
  24. for (Cookie cookie : cookies) {  
  25.     System.out.println(cookie.getName());  
  26.     System.out.println(cookie.getValue());  
  27. }  
  28.   
  29. EntityUtils.consume(res.getEntity());  
3、设置代理  
Java代码   收藏代码
  1. //通过连接参数设置代理  
  2. DefaultHttpClient client1 = new DefaultHttpClient();  
  3.   
  4. HttpHost proxy1 = new HttpHost("192.168.2.60", 8080, "HTTP");  
  5. client1.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY, proxy1);  
  6.   
  7. HttpGet get1 = new HttpGet("http://www.facebook.com");  
  8. HttpResponse res1 = client1.execute(get1);  
  9. if (res1.getEntity() != null) {  
  10.     System.out.println(EntityUtils.toString(res1.getEntity()));  
  11. }         
  12. EntityUtils.consume(res1.getEntity());  
  13.   
  14. //设置代理认证  
  15. //client1.getCredentialsProvider().setCredentials(  
  16. //        new AuthScope("localhost", 8080),  
  17. //        new UsernamePasswordCredentials("username", "password"));  
4、POST数据  
Java代码   收藏代码
  1. //========UrlEncodedFormEntity  
  2. List<NameValuePair> formparams = new ArrayList<NameValuePair>();  
  3. formparams.add(new BasicNameValuePair("param1", "value1"));  
  4. formparams.add(new BasicNameValuePair("param2", "value2"));  
  5. UrlEncodedFormEntity entity1 = new UrlEncodedFormEntity(formparams, "UTF-8");  
  6.   
  7. HttpPost post1 = new HttpPost("http://localhost/post1.do");  
  8. post1.setEntity(entity1);  
  9.   
  10. new DefaultHttpClient().execute(post1);  
  11.   
  12. //========FileEntity  
  13. FileEntity entity2 = new FileEntity(new File("c:\\sample.txt"));  
  14. entity2.setContentEncoding("UTF-8");  
  15.   
  16. HttpPost post2 = new HttpPost("http://localhost/post2.do");  
  17. post2.setEntity(entity2);  
  18.   
  19. new DefaultHttpClient().execute(post2);  
  20.   
  21. //========MultipartEntity  
  22. HttpPost post3 = new HttpPost("http://localhost/post3.do");  
  23. File upfile = new File("C:\\test.jpg");  
  24. MultipartEntity entity3 = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE, null, Charset.forName("UTF-8"));  
  25. entity3.addPart("file_name",     new StringBody(upfile.getName()));  
  26. entity3.addPart("file_contents", new FileBody(upfile));  
  27. post3.setEntity(entity3);  
  28.   
  29. new DefaultHttpClient().execute(post3);  
5、URI构建  
Java代码   收藏代码
  1. //方法一  
  2. URI uri1 = URIUtils.createURI("http", "www.baidu.com", -1, "/s",  
  3.         "wd=rensanning&rsv_bp=0&rsv_spt=3&inputT=1766", null);  
  4. HttpGet httpget1 = new HttpGet(uri1);  
  5.   
  6. //http://www.baidu.com/s?wd=rensanning&rsv_bp=0&rsv_spt=3&inputT=1766  
  7. System.out.println(httpget1.getURI());  
  8.   
  9. //方法二  
  10. List<NameValuePair> qparams = new ArrayList<NameValuePair>();  
  11. qparams.add(new BasicNameValuePair("wd", "rensanning"));  
  12. qparams.add(new BasicNameValuePair("rsv_bp", "0"));  
  13. qparams.add(new BasicNameValuePair("rsv_spt", "3"));  
  14. qparams.add(new BasicNameValuePair("inputT", "1766"));  
  15.   
  16. URI uri2 = URIUtils.createURI("http", "www.baidu.com", -1, "/s",  
  17.         URLEncodedUtils.format(qparams, "UTF-8"), null);  
  18. HttpGet httpget2 = new HttpGet(uri2);  
  19.   
  20. //http://www.baidu.com/s?wd=rensanning&rsv_bp=0&rsv_spt=3&inputT=1766  
  21. System.out.println(httpget2.getURI());  
6、使用Scheme  
Java代码   收藏代码
  1. DefaultHttpClient  httpclient = new DefaultHttpClient();  
  2.   
  3. //========将Scheme设置到client中  
  4. SSLSocketFactory socketFactory = SSLSocketFactory.getSocketFactory();  
  5.   
  6. Scheme httpsScheme = new Scheme("https", 443, socketFactory);  
  7. httpclient.getConnectionManager().getSchemeRegistry().register(httpsScheme);  
  8.   
  9. HttpGet httpget = new HttpGet("https://xxx.xxx.xxx");  
  10. HttpResponse res =  httpclient.execute(httpget);  
  11.   
  12. System.out.println(EntityUtils.toString(res.getEntity()));  
  13.   
  14. //========使用证书做SSL连接  
  15. KeyStore keyStore = KeyStore.getInstance(KeyStore.getDefaultType());  
  16. FileInputStream fis = new FileInputStream("c:\\aa.keystore");  
  17. try {  
  18.     keyStore.load(fis, "password".toCharArray());  
  19. } finally {  
  20.     fis.close();  
  21. }  
  22.   
  23. @SuppressWarnings("unused")  
  24. SSLSocketFactory socketFactory2 = new SSLSocketFactory(keyStore);  
  25. //......  
7、认证  
Java代码   收藏代码
  1. //========BASIC认证  
  2. DefaultHttpClient httpclient1 = new DefaultHttpClient();  
  3.   
  4. UsernamePasswordCredentials creds1 = new UsernamePasswordCredentials("userid", "password");  
  5. AuthScope auth1 = new AuthScope("localhost", 80);  
  6.   
  7. httpclient1.getCredentialsProvider().setCredentials(auth1, creds1);  
  8.   
  9. HttpGet httpget1 = new HttpGet("http://localhost/auth1");  
  10.   
  11. @SuppressWarnings("unused")  
  12. HttpResponse res1 =  httpclient1.execute(httpget1);  
  13.   
  14. //========BASIC认证(HttpContext)  
  15. DefaultHttpClient httpclient2 = new DefaultHttpClient();  
  16.   
  17. UsernamePasswordCredentials creds2 = new UsernamePasswordCredentials("admin", "admin");  
  18. AuthScope auth2 = new AuthScope("localhost", 80);  
  19.   
  20. httpclient2.getCredentialsProvider().setCredentials(auth2, creds2);  
  21.   
  22. HttpHost targetHost2 = new HttpHost("localhost", 80, "http");  
  23.   
  24. AuthCache authCache = new BasicAuthCache();  
  25. BasicScheme basicAuth = new BasicScheme();  
  26. authCache.put(targetHost2, basicAuth);  
  27.   
  28. BasicHttpContext localcontext2 = new BasicHttpContext();  
  29. localcontext2.setAttribute(ClientContext.AUTH_CACHE, authCache);  
  30.   
  31. HttpGet httpget2 = new HttpGet("http://localhost/auth2");  
  32.   
  33. @SuppressWarnings("unused")  
  34. HttpResponse res2 =  httpclient2.execute(httpget2, localcontext2);  
  35.   
  36. //========DIGEST认证  
  37. DefaultHttpClient httpclient3 = new DefaultHttpClient();  
  38.   
  39. UsernamePasswordCredentials creds3 = new UsernamePasswordCredentials("admin", "admin");  
  40. AuthScope auth3 = new AuthScope("localhost", 80);  
  41.   
  42. httpclient3.getCredentialsProvider().setCredentials(auth3, creds3);  
  43.   
  44. HttpHost targetHost3 = new HttpHost("localhost", 80, "http");  
  45.   
  46. AuthCache authCache3 = new BasicAuthCache();  
  47. DigestScheme digestAuth = new DigestScheme();  
  48. digestAuth.overrideParamter("realm", "some realm");  
  49. digestAuth.overrideParamter("nonce", "whatever");  
  50. authCache3.put(targetHost3, digestAuth);  
  51.   
  52. BasicHttpContext localcontext3 = new BasicHttpContext();  
  53. localcontext3.setAttribute(ClientContext.AUTH_CACHE, authCache3);  
  54.   
  55. HttpGet httpget3 = new HttpGet("http://localhost/auth3");  
  56.   
  57. @SuppressWarnings("unused")  
  58. HttpResponse res3 =  httpclient2.execute(httpget3, localcontext3);  
  59.   
  60. //========NTLM认证  
  61. DefaultHttpClient httpclient4 = new DefaultHttpClient();  
  62.   
  63. NTCredentials creds4 = new NTCredentials("user", "pwd", "myworkstation", "microsoft.com");  
  64.   
  65. httpclient4.getCredentialsProvider().setCredentials(AuthScope.ANY, creds4);  
  66.   
  67. HttpHost targetHost4 = new HttpHost("hostname", 80, "http");  
  68.   
  69. HttpContext localcontext4 = new BasicHttpContext();  
  70.   
  71. HttpGet httpget4 = new HttpGet("http://localhost/auth4");  
  72.   
  73. @SuppressWarnings("unused")  
  74. HttpResponse res4 = httpclient3.execute(targetHost4, httpget4, localcontext4);  
8、连接池  
Java代码   收藏代码
  1. SchemeRegistry schemeRegistry = new SchemeRegistry();  
  2. schemeRegistry.register(new Scheme("http", 80, PlainSocketFactory.getSocketFactory()));  
  3. schemeRegistry.register(new Scheme("https", 443, SSLSocketFactory.getSocketFactory()));  
  4.   
  5. PoolingClientConnectionManager cm = new PoolingClientConnectionManager(schemeRegistry);  
  6. //设置连接最大数  
  7. cm.setMaxTotal(200);  
  8. //设置每个Route的连接最大数  
  9. cm.setDefaultMaxPerRoute(20);  
  10. //设置指定域的连接最大数  
  11. HttpHost localhost = new HttpHost("locahost", 80);  
  12. cm.setMaxPerRoute(new HttpRoute(localhost), 50);  
  13.   
  14. HttpGet httpget = new HttpGet("http://localhost/pool");  
  15.   
  16. HttpClient client = new DefaultHttpClient(cm);  
  17.   
  18. @SuppressWarnings("unused")  
  19. HttpResponse res = client.execute(httpget);  
Apache HttpClient库打造的Java网络通信工具类 Apache HttpClient是一个广泛使用的开源Java库,它提供了一套丰富的API,用于执行HTTP协议的各种操作。随着互联网的发展和API的普及,使用HttpClient进行HTTP请求与响应处理变得尤为重要。Java 提供了FileReader和等类来读取文本文件的内容。以下是一个简单的示例,展示了如何使用来读取文件:= null) {在上面的代码中,被用来逐行读取文件内容,并通过readLine()方法实现。FileReader。 阅读详情

相关推荐

Java HttpClient库:实践教程与网络通信实验

HttpClient是一个广泛使用的网络请求库,其主要作用是帮助开发者发送各种类型的HTTP请求。它被设计为一个轻量级、灵活且强大的HTTP客户端,用于.NET平台。其特点包括易于使用、线程安全以及支持同步和异步模式。GET请求是一种HTTP协议中的方法,用于从指定的资源请求数据。它是最常见的HTTP请求方法之一,通常用于数据的读取操作,而不会对服务器上的资源产生副作用。在URL中,GET请求的参数通常以key=value的形式附加在查询字符串中,并用。

weixin_42509507的博客 570

HttpClient使用详解

Http协议的重要性相信不用我多说了,HttpClient相比传统JDK自带的URLConnection,增加了易用性和灵活性(具体区别,日后我们再讨论),它不仅是客户端发送Http请求变得容易,而且也方便了开发人员测试接口(基于Http协议的),即提高了开发的效率,也方便提高代码的健壮性。因...

cihongmo6452的博客 1090

手把手教你用Anaconda安装李沐d2l-zh包(附常见报错解决方案)

本文提供了一份详尽的Anaconda环境下安装李沐d2l-zh包的实战指南。文章从创建虚拟环境、配置国内镜像源加速下载入手,分步讲解核心依赖的预安装策略,并重点剖析了安装过程中常见的报错及其解决方法,旨在帮助初学者和开发者高效、稳定地搭建深度学习实验环境。

efc1234567的博客 1010

Java中常见的几种HttpClient调用方式

*** 带参数的get请求// 创建Httpclient对象 CloseableHttpClient httpclient = HttpClients . createDefault();try {// 创建uri URIBuilder builder = new URIBuilder(url);if(param!= null) {// 创建http GET请求 HttpGet httpGet = new HttpGet(uri);

qq_49641620的博客 5351

VC Spyglass实战指南:从零开始掌握CDC约束配置与调试

本文详细介绍了如何使用VC Spyglass进行CDC约束配置与调试,从基础环境搭建到典型CDC问题调试实战,帮助开发者快速掌握跨时钟域验证技术。通过TCL脚本和SDC约束的深度解析,提升CDC验证效率,避免常见设计风险。

weixin_26757925的博客 297

DDR内存条选购避坑指南:单Rank vs 双Rank性能实测对比(附2024年颗粒推荐)

本文深入解析了内存条中单Rank与双Rank设计的原理与性能差异。通过实战测试对比,揭示了双Rank内存在高负载场景(如3D渲染、视频剪辑)中凭借Rank Interleaving技术带来的显著性能优势,并提供了2024年针对不同用户需求的DDR4/DDR5内存选购策略与避坑指南。

ik678901的博客 1134

httpClient(JAVA)

文章目录1.介绍1.1 主要功能1.2 步骤2.使用2.1 get访问(不带参数)2.2 get访问(带参数)2.3 post访问(不带参数)2.4 post访问(带参数)2.5 连接池2.6 请求参数配置参考 1.介绍 1.1 主要功能 1.实现了所有HTTP的方法(get、post、put、head等) 2.支持自动转向 3.支持代理服务器 4.自动处理set-cookie中的cookie 5...

有点想法的专栏 7346

sid图像数据_遥感影像数据

影像数据基本概念影像数据是由卫星或飞机上的成像系统获得的影像,多为遥感影像数据。影像数据的每个像元都有一个值,表示传感器探测到像素对应地面面积上目标物的电磁辐射强度,也叫亮度值、灰度值。SuperMap支持的影像数据格式有:*.img、*.tif、*.tiff、*.bmp、*.jpg、*.png、*.gif、*.raw、*.sid等。计算机以二进制记录数据,所以其量化的等级以二进制来划分,即2n。...

weixin_39534395的博客 1627

JAVA实现HTTP请求 之 HTTPClient

一、目前JAVA实现HTTP请求的方法用的最多的有两种:通过HTTPClient这种第三方开源框架去实现。HTTPClient对HTTP的封装性比较不错,基本上能够满足我们大部分的需求,最新的HttpClient4.5是org.apache.http.impl.client下操作远程 url的工具包;HttpClient3.1 是 org.apache.commons.httpclient下操作远程 url的工具包,虽然已不再更新,但实现工作中使用httpClient3.1的代码还是有不少的.另一种则是通过

WYP123456L的博客 1万+

Mimics 21.0软件学习笔记(一)基本操作

Materialise Mimics 21.0打开工程窗口化Thresholding 二值化Region growing区域增长创建一个3D表示,并显示股骨头从髋臼中区分出来,并单独为股骨头建立3D模型 打开工程 Opening the Project 窗口化 Windowing 二值化 Thresholding 区域增长 Region Growing 建立 3D 表示 Creating a 3D representation 显示 3D 表示 Displaying a 3D representation

qq_35495464的博客 4万+

SDA 还是 SDI:SAP HANA 数据虚拟化与数据集成的取舍、组合与实战

结论先放在前面:SDA 面向数据虚拟化与联邦查询,强调不落地、不复制、按需实时访问;SDI 面向数据集成与复制,强调抽取、转换、装载与近实时增量同步。两者共享 Remote Source 与 Adapter 的理念,但侧重点与运行时组件明显不同。

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

java中HttpClient使用【含例子】

但是,如果你在使用Java 11之前的版本,并且想要使用类似的功能,你可能需要引入第三方库的依赖,如Apache HttpClient。通过HttpRequest对象,您可以设置请求的URL、请求方法、请求头、请求体等信息,并构建一个完整的HTTP请求对象,用于发送给服务器。它提供了一种简单且一致的方式来执行HTTP操作,包括同步和异步的请求发送、连接池管理、请求和响应的拦截器等功能。被设计成与Java平台更好地集成,使得开发者能够更轻松地处理HTTP请求和响应,同时减少了对外部库的依赖。

分享技术,分享经验 7413

AEJoy —— 最受欢迎的 5 个 Ae 表达方式

NOTE] 原文作者我意识到表达式可能令人生畏,有些人宁愿复制粘贴有用的代码,而不愿学习这门语言。对此我完全理解。因此,我想与您分享我的。这些是我几乎在每个项目中都会使用的表达式,我认为它们极大地提升了工作流程。

ShaderJoy 的兴趣技术杂货铺 364

c java http通讯_Java网络通信之HttpClient

//========BASIC认证DefaultHttpClienthttpclient1=newDefaultHttpClient();UsernamePasswordCredentialscreds1=newUsernamePasswordCredentials("userid","password");AuthScopeauth1=newAuthScope("loc...

weixin_35830270的博客 176

【Flink】FlinkSQL如何触发执行计算

Table (通过 StatementSet.addInsert() 输出给某个 Sink)和 INSERT 语句 (通过调用 StatementSet.addInsertSql())会先被缓存到 StatementSet 中,StatementSet.execute() 方法被调用时,所有的 sink 会被优化成一张有向无环图。该方法是用来将一个表的内容插入到目标表中,一旦该方法被调用, TABLE API 程序立即被翻译。该方法是用来执行一个 SQL 语句,一旦该方法被调用, SQL 语句立即被翻译。

一杯咖啡半杯糖的博客 1007

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Java网络通信

Java网络通信 TCP 什么是TCP? 答:TCP(英语:Transmission Control Protocol,传输控制协议) 是一种面向连接的、可靠的、基于字节流的传输层通信协议,TCP 层是位于 IP 层之上,应用层之下的中间层。TCP 保障了两个应用程序之间的可靠通信。通常用于互联网协议,被称 TCP / IP。 UDP 什么是UDP? 答:UDP (英语:User Datagram Protocol,用户数据报协议),位于 OSI 模型的传输层。一个无连接的协议。提供了应用程序之间要发送数据

linxIT的博客 256

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

☕️从小工到专家的 Java 进阶之旅:全新的HttpClient,现代高效的网络通信利器

本文介绍了Java11提供的新版HttpClient的功能,在后续的开发过程中,我们就有了更多的选择。青山不改,绿水长流,我们下次见。

沉潜飞动 1282

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Http进行网络通信

http使用get的方式进行网络通信: package com.testGet; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.net.MalformedU...

weixin_34232744的博客 237

java httpClient发送post 表单

java httpClient发送post 表单 import com.xxl.job.core.log.XxlJobLogger; import org.apache.log4j.Logger; import javax.activation.MimetypesFileTypeMap; import java.io.*; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.UR

zzzzzheike的博客 762

HttpClient进行timeout设置及存活机制设置

package com.example.demo.config; import lombok.Data; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.stereotype.Component; /** * @description: * @date:created in 2020-12-08 16:00 * @author:Dylan

evilmoon8256的博客 1951

httpClient工具类

【代码】httpClient工具类。

qq_43368264的博客 242

掌握HttpClient技术:从基础到实战(java.net.http)

在现代软件开发中,网络通信是构建分布式系统和实现服务间交互的核心组成部分。无论是微服务架构中的服务调用、RESTful API的集成,还是基础的HTTP请求处理,开发者都需要依赖高效、稳定且功能丰富的工具来实现网络通信。HttpClient作为Java平台中一个强大的HTTP客户端库,提供了全面的API支持,能够高效地处理HTTP请求与响应,并支持异步通信等现代网络协议特性。本文将系统性地介绍HttpClient的核心概念、使用方法,并通过实战案例探讨其在实际项目中的实践与应用场景。

Rye的博客 3103

HttpClient详细使用示例

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

奥利奥小兵的博客 1163

Java基础知识强化之网络编程笔记19:Android网络通信之 HttpClient和传统Post、Get方式的区别...

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

weixin_30390075的博客 119
上一篇: 对EJB2.1几种接口的认识
下一篇: SQL Server和MySQL触发器
Wo_Ai_Java
博客等级 码龄16年 26粉丝 20原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值