前两天我不是接个小项目嘛需要在代码里模拟发送http请求,获取数据。这玩意儿我之前也没搞过,就想着找个现成的工具包用用,省事儿。
在网上搜一圈,发现好多人都推荐用*这个包,说是Apache出的,挺靠谱。行,那就它!
下载*包
第一步,当然是先把这个jar包给弄到手。我直接去Apache的官网,找到httpcomponents-client那一块,下载最新版本的jar包。
- 也可以直接用Maven这些项目管理工具去下载并配置httpclient的依赖,更方便,但是我当时图省事直接下载的jar包。
把jar包添加到项目里
下载完jar包,接下来就要把它添加到我的Java项目里。这一步也简单,我用的是IDEA这个开发工具:
- 在项目上点右键,找到"Open Module Settings"。
- 在弹出的窗口里,找到"Libraries"这一项。
- 点"+"号,选择"Java",然后找到你刚才下载的那个*包,点"OK"。
- 点"Apply"和"OK",搞定!
写代码,发送请求
准备工作都做完,接下来就是写代码。我当时的需求比较简单,就是发送一个GET请求,然后把返回的数据打印出来。
具体的代码我记不太清,大概是这样的:
先创建一个HttpClient对象,就像这样:
HttpClient client = *().build();
然后创建一个HttpGet对象,把你要请求的URL放进去:
HttpGet request = new HttpGet("你的URL");
用HttpClient对象发送请求,会得到一个HttpResponse对象:
HttpResponse response = *(request);
从HttpResponse对象里获取返回的数据:
HttpEntity entity = *();
if (entity != null) {
String result = *(entity);
*(result);

释放连接
也是很重要的一步,就是释放连接。不管你的请求成功还是失败,都要记得把连接释放掉,不然会占用资源。
*(entity);
我当时就是按照这个步骤,一步一步把代码写出来的。虽然中间也遇到一些小问题,比如URL格式不对,返回的数据乱码,但都解决。
用*发送http请求还是挺方便的,只要把jar包添加到项目里,然后按照它的API写代码就行。不过我这只是一个简单的例子,实际应用中可能还需要处理更复杂的情况,比如设置请求头、处理cookie、发送POST请求等等。这些就留着以后慢慢研究!
免责声明:由于无法甄别是否为投稿用户创作以及文章的准确性,本站尊重并保护知识产权,根据《信息网络传播权保护条例》,如我们转载的作品侵犯了您的权利,请您通知我们,请将本侵权页面网址发送邮件到qingge@88.com,深感抱歉,我们会做删除处理。