httpclient工具使用(org.apache.httpcomponents.httpclient)
httpclient工具使用(org.apache.httpcomponents.httpclient)
引入依赖
- <dependency>
- <groupId>org.apache.httpcomponents</groupId>
- <artifactId>httpclient</artifactId>
- <version>4.3.5</version>
- </dependency>
get请求
- public static void main(String[] args) throws Exception {
- //创建httpclient对象
- CloseableHttpClient httpClient = HttpClients.createDefault();
- //创建Http get请求
- HttpGet httpGet = new HttpGet("http://www.xxx.com/rest/content?categoryId=4&page=1&rows=20");
- //接收返回值
- 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();
- }
get带参数请求
- public static void main(String[] args) throws Exception{
- //创建httpClient对象
- CloseableHttpClient httpClient = HttpClients.createDefault();
- //定义http get参数
- URI uri = new URIBuilder("http://www.xxxx.com/rest/content").setParameter("categoryId", "4")
- .setParameter("page", "1").setParameter("rows", "30").build();
- System.out.println(uri);
- //创建http get请求
- HttpGet httpGet = new HttpGet(uri);
- //接受请求返回的定义
- CloseableHttpResponse response = null;
- try {
- //执行get请求
- 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();
- }
- }
http post请求
- public static void main(String[] args) throws Exception {
- // 创建Httpclient对象
- CloseableHttpClient httpclient = HttpClients.createDefault();
- // 创建http POST请求
- HttpPost httpPost = new HttpPost("http://www.oschina.net/");
- // 伪装成浏览器
- httpPost.setHeader("User-Agent", "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.94 Safari/537.36");
- CloseableHttpResponse response = null;
- try {
- // 执行请求
- response = httpclient.execute(httpPost);
- // 判断返回状态是否为200
- 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();
- }
- }
http post带参数请求
- public static void main(String[] args) throws Exception{
- //创建httpclient
- CloseableHttpClient httpClient = HttpClients.createDefault();
- //创建http post
- HttpPost httpPost = new HttpPost("http://www.oschina.net/search");
- //模拟浏览器设置头
- httpPost.setHeader(
- "User-Agent",
- "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.94 Safari/537.36");
- //设置请求数据
- List<NameValuePair> params = new ArrayList<NameValuePair>();
- params.add(new BasicNameValuePair("scope", "project"));
- params.add(new BasicNameValuePair("q", "java"));
- params.add(new BasicNameValuePair("fromerr", "7nXH76r7"));
- //构建表单
- UrlEncodedFormEntity formEntity = new UrlEncodedFormEntity(params);
- //将表达请求放入到httpost
- httpPost.setEntity(formEntity);
- //返回类型
- CloseableHttpResponse response = null;
- try {
- response = httpClient.execute(httpPost);
- String content = EntityUtils.toString(response.getEntity(), "utf-8");
- System.out.println(content);
- }finally{
- if(response!=null){
- response.close();
- }
- httpClient.close();
- }
- }
httpclient工具使用(org.apache.httpcomponents.httpclient)的更多相关文章
- org.apache.httpcomponents.httpclient
apache org doc :http://hc.apache.org/httpcomponents-client-ga/tutorial/html/fundamentals.html#d5e49 ...
- org.apache.httpcomponents:httpclient 工具类
基于httpclient 版本4.4.1 因为http连接需要三次握手,在需要频繁调用时浪费资源和时间 故采用连接池的方式连接 根据实际需要更改 连接池最大连接数.路由最大连接数 另一个需要注意的是 ...
- org.apache.httpcomponents httpclient 发起HTTP JSON请求
1. pom.xml <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactI ...
- org.apache.commons.httpclient工具类
import org.apache.commons.httpclient.DefaultHttpMethodRetryHandler; import org.apache.commons.httpcl ...
- org.apache.commons.httpclient工具类(封装的HttpUtil)
import java.io.BufferedInputStream; import java.io.File; import java.io.FileInputStream; import java ...
- 【commons-httpclient】Java中HttpClient工具访问Web请求
注意jar包是: HttpClient工具使用 HttpClient 是 Apache Jakarta Common 下的子项目,可以用来提供高效的.最新的.功能丰富的支持 HTTP 协议的客户端编程 ...
- java apache commons HttpClient发送get和post请求的学习整理(转)
文章转自:http://blog.csdn.net/ambitiontan/archive/2006/01/06/572171.aspx HttpClient 是我最近想研究的东西,以前想过的一些应用 ...
- Java网络编程:利用apache的HttpClient包进行http操作
本文介绍如何利用apache的HttpClient包进行http操作,包括get操作和post操作. 一.下面的代码是对HttpClient包的封装,以便于更好的编写应用代码. import java ...
- org.apache.commons.httpclient.HttpClient的使用(转)
HTTP 协议可能是现在 Internet 上使用得最多.最重要的协议了,越来越多的 Java 应用程序需要直接通过 HTTP 协议来访问网络资源.虽然在 JDK 的 java net包中已经提供了访 ...
随机推荐
- 【C++札记】多态
C++中多态是面向对象设计思想的重要特性,同名具有不同功能函数,该函数调用过程执行不同的功能.多态的原理是通过一张虚函数表(Virtual Table)实现的.动多态会牺牲一些空间和效率来最终实现动态 ...
- python with方法
在实际的编码过程中,有时有一些任务,需要事先做一些设置,事后做一些清理,这时就需要python with出场了,with能够对这样的需求进行一个比较优雅的处理,最常用的例子就是对访问文件的处理. 一般 ...
- day37——阻塞、非阻塞、同步、异步
day37 阻塞.非阻塞.同步.异步 进程运行的三个状态:运行.就绪.阻塞 执行的角度 阻塞:程序运行时,遇到了IO,程序挂起,CPU被切走 非阻塞:程序没有遇到IO,程序遇到IO但是我通过某种手段, ...
- argv和raw_input的区别
argv是在一开始就要输入不输入程序会出现错误,raw_input是在运行之后进行输入.
- Django模型层之单表操作
Django模型层之单表操作 一 .ORM简介 我们在使用Django框架开发web应用的过程中,不可避免地会涉及到数据的管理操作(如增.删.改.查),而一旦谈到数据的管理操作,就需要用到数据库管理软 ...
- Navicat premium工具转储数据表的结构时,datatime字段报错
Navicat premium工具导出数据库: Navicat premium工具导入数据库: 运行SQL文件,遇到的错误,红色下划线提示,发现:(SQL文件的时间有问题) 不是insert语句有问题 ...
- C#特性的学习(一)
1.预定定义特性之一:AttributeUsage AttributeUsage有三个属性: 第一个属性:ValidOn 规定特性可被放置的语言元素,默认是AttributeTargets.All.
- PKPM BIMViewer的使用
模型的使用,目前有两个方案, 一个是使用全局组件,在单页面的主页面中进行嵌套 <template> <div id="model"> <!-- 这样的 ...
- javascript, 元素 页面 简单碰撞
<div> </div> <style> div { width: 100px; ...
- HTML学习摘要3
DAY 3 浏览器会自动地在标题的前后添加空行 默认情况下,HTML 会自动地在块级元素前后添加一个额外的空行,比如段落.标题元素前后. <hr /> 标签在 HTML 页面中创建水平线. ...