HttpClient

HttpClient 是 Apache Jakarta Common 下的子项目,用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,

并且它支持 HTTP 协议最新的版本和建议。

使用httpClient执行get请求<url不带参的>

import
org.apache.http.HttpEntity;

import
org.apache.http.client.methods.CloseableHttpResponse;

import
org.apache.http.client.methods.HttpGet;

import
org.apache.http.impl.client.CloseableHttpClient;

import
org.apache.http.impl.client.HttpClients;

import
org.apache.http.util.EntityUtils;

import org.junit.Test;

public class HttpClient {

@Test

public void doGet()throws Exception{

//创建一个HttpClient对象

CloseableHttpClient httpClient = HttpClients.createDefault();

//创建一个GET对象

HttpGet get = new HttpGet("http://www.sogou.com");

//执行请求

CloseableHttpResponse response = httpClient.execute(get);

//获取相应结果

int statusCode = response.getStatusLine().getStatusCode();//响应的状态码

System.out.println(statusCode);//如果结果为200 即为正常

HttpEntity entity = response.getEntity();//响应内容

String string = EntityUtils.toString(entity);

System.out.println(string);

//关闭HttpClient

response.close();

httpClient.close();

}

}

使用httpClient执行get请求<url带参的>

import org.apache.http.HttpEntity;

import org.apache.http.client.methods.CloseableHttpResponse;

import org.apache.http.client.methods.HttpGet;

import org.apache.http.client.utils.URIBuilder;

import org.apache.http.impl.client.CloseableHttpClient;

import org.apache.http.impl.client.HttpClients;

import org.apache.http.util.EntityUtils;

import org.junit.Test;

public class HttpClient {

@Test

public void doGetWithParam()throws Exception{

//创建一个httpClient对象

CloseableHttpClient httpClient = HttpClients.createDefault();

//创建一个uri对象

URIBuilder uriBuilder = new URIBuilder("http://www.sogou.com/web");

uriBuilder.addParameter("query", "杀破狼");                                             //www.sogou.com/web?query=杀破狼

HttpGet get = new HttpGet(uriBuilder.build());

//执行结果

CloseableHttpResponse response = httpClient.execute(get);

//获取响应结果

int statusCode = response.getStatusLine().getStatusCode();

System.out.println(statusCode);

HttpEntity entity = response.getEntity();

String string = EntityUtils.toString(entity,"UTF-8");

System.out.println(string);

//关闭HttpClient

response.close();

httpClient.close();

}

}

HttpClient的post请求方式<不带参数的post请求>

import org.apache.http.client.methods.CloseableHttpResponse;

import org.apache.http.client.methods.HttpPost;

import org.apache.http.impl.client.CloseableHttpClient;

import org.apache.http.impl.client.HttpClients;

import org.apache.http.util.EntityUtils;

import org.junit.Test;

public class HttpClient {

@Test

public void doPost()throws Exception{

//创建一个httpClient对象

CloseableHttpClient httpClient = HttpClients.createDefault();

//创建一个post对象

HttpPost post = new HttpPost("http://localhost:8080/httpclient/post.html");

//执行结果

CloseableHttpResponse response = httpClient.execute(post);

String string = EntityUtils.toString(response.getEntity());

System.out.println(string);

//关闭HttpClient

response.close();

httpClient.close();

}

}

HttpClient使用post请求<带参数请求>

import java.util.ArrayList;

import java.util.List;

import org.apache.http.NameValuePair;

import org.apache.http.client.entity.UrlEncodedFormEntity;

import org.apache.http.client.methods.CloseableHttpResponse;

import org.apache.http.client.methods.HttpPost;

import org.apache.http.entity.StringEntity;

import org.apache.http.impl.client.CloseableHttpClient;

import org.apache.http.impl.client.HttpClients;

import org.apache.http.message.BasicNameValuePair;

import org.apache.http.util.EntityUtils;

import org.junit.Test;

public class HttpClient {

@Test

public void doPostWithParam()throws Exception{

//创建一个httpClient对象

CloseableHttpClient httpClient = HttpClients.createDefault();

//创建一个post对象

HttpPost post = new HttpPost("http://localhost:8080/httpclient/post.html");

//创建一个Entity.模拟一个表单

List<NameValuePair> kvList = new ArrayList<>();

kvList.add(new BasicNameValuePair("username","abc"));

kvList.add(new BasicNameValuePair("password","123"));

//包装成一个Entity对象

StringEntity entity = new UrlEncodedFormEntity(kvList);

//设置请求内容

post.setEntity(entity);

//执行结果

CloseableHttpResponse response = httpClient.execute(post);

String string = EntityUtils.toString(response.getEntity());

System.out.println(string);

//关闭HttpClient

response.close();

httpClient.close();

}

}

HttpClient请求的更多相关文章

  1. httpclient请求方法

    /** * httpclient请求方法 * @param url 请求地址 * @param paramMap 请求参数 * @param ent 编码格式 gbk.utf-8 * @return ...

  2. HttpClient请求服务器代码优化版

    HttpClient请求服务器代码优化版 首先,我在前面的两篇博文中介绍了在 Android中,除了使用java.net包下HttpUrlConnection的API访问HTTP服务之外,我们还可以换 ...

  3. 通过HttpClient请求webService

    通过HttpClient请求webService 由于服务端是用webService开发的,android要调用webService服务获取数据,这里采用的是通过HttpClient发送post请求, ...

  4. C# HttpClient 请求认证、数据传输笔记

    目录 一,授权认证 二,请求类型 三,数据传输 C# HttpClient 请求认证.数据传输笔记 一,授权认证 客户端请求服务器时,需要通过授权认证许可,方能获取服务器资源,目前比较常见的认证方式有 ...

  5. SpringMVC获取HttpClient 请求的数据

    package com.nnk.upstream.controller;import org.springframework.util.StreamUtils;import javax.servlet ...

  6. .NetCore简单封装基于IHttpClientFactory的HttpClient请求

    IHttpClientFactory是什么?为什么出现了IHttpClientFactory 一.IHttpClientFactory是什么? IHttpClientFactory是.netcore2 ...

  7. .NET Core HttpClient请求异常详细情况分析

    前言 最近项目上每天间断性捕获到HttpClient请求异常,感觉有点奇怪,于是乎观察了两三天,通过日志以及对接方沟通确认等等,查看对应版本源码,尝试添加部分配置发布后,观察十几小时暂无异常情况出现, ...

  8. Httpclient请求数据(post)

    public static String loginCheck_POST_HttpClient(String name,String pass,String url){ String result = ...

  9. HttpClient请求返回JSON、图片

    /** * Created by RongGuang on 2015/9/19. */ public class RongHttp { /** * Http Post请求 * @param url * ...

随机推荐

  1. 杭电ACM1001

    原题:http://acm.hdu.edu.cn/showproblem.php?pid=1001 #include <stdio.h> int main(void) { int i,n, ...

  2. iOS 为移动中的UIView(UIButton )添加点击事件

    高高兴兴迎接新的产品新需求,满心欢喜的开始工作,结果研究了一下午才发现,是自己想的太简单了,是我太单纯呀. 需求是这样的类似下雪的效果,随机产生一些小雪花,然后每个雪花可以点击到下个页面. 接到需求之 ...

  3. 使用JavaScript实现复选框全选与取消的功能

    实现效果: html代码: <body> <input type="checkbox" id="checkAll"/>全选<br& ...

  4. 存储过程详解与java调用(转)

    存储过程的一些基本语法: --------------创建存储过程----------------- CREATE PROC [ EDURE ] procedure_name [ ; number ] ...

  5. mvc 传递匿名对象

    Controller代码: public ActionResult TupleTest() { LinqDBEntities db = new LinqDBEntities(); dynamic da ...

  6. sql 聚合函数、排序方法详解

    聚合函数 count,max,min,avg,sum... select count (*) from T_Employee select Max(FSalary) from T_Employee 排 ...

  7. LED BIN code

    在LED选型时,一开始我们都知道要选个某种颜色,在选个尺寸,但在到具体选的时候,就会被那些个各种各样的参数搞得迷糊,这个主要对一个最让人困惑的参数-BIN CODE做整理. BIN就是bining的缩 ...

  8. Spring中的SPEL

    src\dayday\Person.java package dayday;/** * Created by I am master on 2016/11/28. */public class Per ...

  9. Oracle对列的操作总结

    1.更改列名 alter table TABLE_NAME rename column COLUMN_OLD COLUMN_NEW; 2.添加列 alter table TABLE_NAME add ...

  10. javaweb常见问题解决

    问题一.如果是在导入的项目的情况下,多数情况下就是jdk版本与项目的jdk版本不匹配, 解决方法: (1)右击工程->Build Path->Configure Build Path-&g ...