Java中的http(网络处理)相关的库:HttpClient,HttpCore(转载)
【背景】
最近和之前,折腾了这个:
然后,对于Java的HttpClient,有了点了解。
现在整理如下:
Java本身没有Http相关的库
Java本身,没有内置对应的Http相关的库函数
(
与此对应的是,关于http处理,其他语言,都有内置的库:
- Python有内置的urllib,urllib2等模块
- C#有System.Net,System.Web相关库
)
Java中用的最多的http的库就是:HttpClient
而关于网络处理,http相关处理,则用的最多的就是:
而HttpClient,是Apache这个组织所发布的。
其对应的,完整的名称其实是:Apache HttpComponents
HttpClient的相关解释
Apache HttpComponents包含了两大部分:
- HttpComponents Core == HttpCore
- 实现了一系列的底层传输的功能
- 这些底层功能,可以用来去建立自己的client和server
- 支持两种I/O模式:
- 阻塞型Blocking:基于典型的Java的I/O模型
- 非阻塞型Non-Blocking:基于Java的NIO,事件驱动型
- 在线文档:
- 示例代码:HttpCore Examples
- HttpComponents Client == HttpClient
- 兼容HTTP 1.1
- 基于HttpCore
- 意味着:导入对应的库HttpClient库时,也要导入相关的HttpCore的库
- 同时提供了其他功能:
- 客户端认证功能
- HTTP状态管理
- HTTP连接管理
- HttpClient是之前常用的那个:Commons HttpClient 3.x的继承者
- 之前的HttpClient 3.x,现已废弃
- 如果还要用之前的HttpClient 3.x,也强烈推荐你换用最新的HttpClient 4.1(或更新版本的)
- 在线文档:
- 示例代码:HttpClient Examples
- HttpClient还有个异步的版本:
到哪里下载HttpClient
推荐使用最新版本的HttpClient。
比如,此刻,2013-09-17,最新版本是4.3
所以,进入:
http://hc.apache.org/httpcomponents-client-ga/index.html
后,可以在页面左边列表中看到那个:
进入后,点击对应的:
可以找到:
可以看到对应的4.3的各种下载:
二进制(库文件)下载:
如何使用HttpClient
下载到:
后,得到:
httpcomponents-client-4.3-bin.zip
解压后,在:
httpcomponents-client-4.3-bin\lib
可以找到各个库文件:
- commons-codec-1.6.jar
- commons-logging-1.1.3.jar
- fluent-hc-4.3.jar
- httpclient-4.3.jar
- httpclient-cache-4.3.jar
- httpcore-4.3.jar
- httpmime-4.3.jar
然后,全部都加到你的Eclipse的Java的项目中,就可以使用了。
具体做法,简介:
Eclipse中,右击项目文件夹->Build Path->Add External Archive->把上面的那些jar包都加进去,即可。
详解:
【已解决】Eclipse的java代码出错:The import org.apache cannot be resolved
转载 http://www.crifan.com/java_http_related_lib_httpclient_httpcore/
相关资料参考 http://www.cnblogs.com/jcli/category/315065.html
http://www.blogjava.net/stevenjohn/category/51822.html
Java中的http(网络处理)相关的库:HttpClient,HttpCore(转载)的更多相关文章
- Java中Calendar(日历)相关API举例
Java中Calendar(日历)相关API举例,实现功能:输入一个年份和月份打印出这个月的日历. package calendarPrint; import java.util.Calendar; ...
- 关于Java中基本类型的长度相关基础知识
1. 用HeapByteBuffer放int占几个byte? 占4个.而且不论你是放1还是-1还是0xffff. 因为int的长度是4个byte,HeapByteBuffer的存储又是byte数组. ...
- JAVA中接口与抛出异常的相关知识
1.接口概念:接口可以理解为一种特殊的类,由全局常量和公共的抽象方法所组成. 类是一种具体实现体,而接口定义了某一批类所需要遵守的规范,接口不关心这些类的内部数据,也不关心这些类里方法的实现细节,它只 ...
- Java 中的String、StringBuilder与StringBuffer的区别联系(转载)
1 String 基础 想要了解一个类,最好的办法就是看这个类的源代码,String类源代码如下: public final class String implements java.io.Seria ...
- Python网络编程相关的库与爬虫基础
PythonWeb编程 ①相关的库:urlib.urlib2.requests python中自带urlib和urlib2,他们主要使用函数如下: urllib: urlib.urlopen() ur ...
- 在Java中谈尾递归--尾递归和垃圾回收的比较(转载)
我不是故意在JAVA中谈尾递归的,因为在JAVA中谈尾递归真的是要绕好几个弯,只是我确实只有JAVA学得比较好,虽然确实C是在学校学过还考了90+,真学得没自学的JAVA好 不过也是因为要绕几个弯,所 ...
- Java中的break,continue关于标签的用法(转载)
Java的控制循环结构中是没有关键字goto的,这种做法有它的好处,它提高了程序流程控制的可读性,但是也有不好的地方,它降低了程序流程控制的灵活性,所以说,“上帝是公平的”.所以,Java为了弥补这方 ...
- java中的==、equals()、hashCode()源码分析(转载)
在java编程或者面试中经常会遇到 == .equals()的比较.自己看了看源码,结合实际的编程总结一下. 1. == java中的==是比较两个对象在JVM中的地址.比较好理解.看下面的代码: ...
- Java中涉及线程和并发相关的内容
1:线程池 与每次需要时都创建线程相比,线程池可以降低创建线程的开销,这也是因为线程池在线程执行结束后进行的是回收操作,而不是真正的 销毁线程. 2:ReentrantLock ReentrantLo ...
- Java中的文件和流相关知识
1. File File类可以使用文件路径字符串来创建File实例,该文件路径可以是绝对路径或相对路径 File类的list()方法中可以接收一个FilenameFilter参数,通过该参数可以只列出 ...
随机推荐
- angularJS开发时用到的命令
node --version && npm --version 查看nodejs版本号和npm版本号 yo --version && bower --version & ...
- KindEditor 和 xss过滤
KindEditor 1.进入官网 2.下载 官网下载:http://kindeditor.net/down.php 本地下载:http://files.cnblogs.com/files/wup ...
- Oracle的Spool导出数据
出自:http://wallimn.iteye.com/blog/472182 实践 只能在一个终端上的一个窗口中进行操作 第一步:连接oracle数据库 sqlplus qkp/mm_eft ...
- easyui datagrid combobox下拉框获取数据问题
最近在使用easyui的datagrid,在可编辑表格中添加一个下拉框,查了下API,可以设置type : 'combobox',来做下拉框,这下拉框是有了,可是这后台数据怎么传过来呢,通过查API可 ...
- nginx 里设置font-face 跨域
server { ... # Fix @font-face cross-domain restriction in Firefox location ~* \.(eot|ttf|woff)$ { ad ...
- C++中float类型的存储
C++中float用32位来表示,f = (-1)^S * T * 2^E,S是符号位,T是尾数,E是指数 首先我们把f表示成科学计数法的形式,然后再写出其在内存中的表示,在这里T写成1.XXX的形式 ...
- 转 Android:文件下载和写入SD卡学习小结
转自 http://blog.csdn.net/zzp_403184692/article/details/8160739 一.文件下载 Android开发中,有时需要从网上下载一些资源以供用户使 ...
- 值得一做》关于一道暴搜BZOJ1024(EASY+)
为什么要写这道题的DP捏? 原因很简单,因为为原来在openjudge上有一道题叫分蛋糕,有一个思路和这道题很像:“分锅”. 分锅:即为考虑计算当前情况的最优解时,把当前状态结果,分散为考虑当前状态的 ...
- [hdu4347]The Closest M Points(平衡树式kdtree)
解题关键:模板题(结合起来了) #include<iostream> #include<cstdio> #include<cstring> #include< ...
- 使用jquery修改表单的提交地址
基本思路: 通过使用jquery选择器得到对应表单的jquery对象,然后使用attr方法修改对应的action 示例程序一: 默认情况下,该表单会提交到page_one.html 点击button之 ...