今天要做这样的一件事情, 对方有一个网页, 在等我们定时传一些数据
是的, 我们不可能派一个人定时打开浏览器去做一些请求, 于是我们需要一个client,
他客串一个http代理, 去给对方的网页传一些参数.(我们使用post方法)
jdk net包里面有这两个东西可以做这件事情: URLConnection,HttpURLConnection
但我们找到了更好的东西:
这个东西有两个jar包,分别如下, 他们完全满足了我们的需求.
httpcore-nio-4.0-beta3.jar
自带的tutor和sample也都是很好的学习字源.
但是他的页面上(http://hc.apache.org/)有两个东西让我比较迷惑.
一个是"HttpComponents Client", 一个是"Commons HttpClient (legacy)"
开始光注意clint了, 没注意前面的定语, 给我都整迷糊了.... 我的大眼睛当时就没有看到legacy这个单词.
原来是: 现有的Commons HttpClient, 发展到3.x的时候, apache准备重写(或放弃)他了,
而他的替代品就是HttpComponents,
而HttpComponents其中有一部分便是HttpComponents Client
(因为HttpComponents的另一部分也完全可以拿来做一个精简的server)
这就正如HttpComponents 网页左侧的树上分类的一样.Commons HttpClient是遗产系统了... 当HttpComponent足够稳定时, Commons HttpClient便会被替代.
* HttpCore
* HttpClient
Legacy
* Commons HttpClient