package
JanGin.httpClient.demo;
import
java.io.IOException;
import
java.io.UnsupportedEncodingException;
import
java.util.ArrayList;
import
java.util.List;
import
org.apache.http.HttpEntity;
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.HttpGet;
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.message.BasicNameValuePair;
import
org.apache.http.util.EntityUtils;
import
org.junit.Test;
public
class
FirstDemo {
/**
* 通过GET方式发起http请求
*/
@Test
public
void
requestByGetMethod(){
CloseableHttpClient httpClient = getHttpClient();
try
{
HttpGet get =
new
HttpGet(
"http://www.baidu.com"
);
System.out.println(
"执行get请求:...."
+get.getURI());
CloseableHttpResponse httpResponse =
null
;
httpResponse = httpClient.execute(get);
try
{
HttpEntity entity = httpResponse.getEntity();
if
(
null
!= entity){
System.out.println(
"响应状态码:"
+ httpResponse.getStatusLine());
System.out.println(
"--------------"
);
System.out.println(
"响应内容:"
+ EntityUtils.toString(entity));
System.out.println(
"--------------"
);
}
}
finally
{
httpResponse.close();
}
}
catch
(Exception e) {
e.printStackTrace();
}
finally
{
try
{
closeHttpClient(httpClient);
}
catch
(IOException e){
e.printStackTrace();
}
}
}
/**
* POST方式发起http请求
*/
@Test
public
void
requestByPostMethod(){
CloseableHttpClient httpClient = getHttpClient();
try
{
HttpPost post =
new
HttpPost(
"http://localhost/...."
); //这里用上本机的某个工程做测试
List<NameValuePair> list =
new
ArrayList<NameValuePair>();
list.add(
new
BasicNameValuePair(
"j_username"
,
"admin"
));
list.add(
new
BasicNameValuePair(
"j_password"
,
"admin"
));
UrlEncodedFormEntity uefEntity =
new
UrlEncodedFormEntity(list,
"UTF-8"
);
post.setEntity(uefEntity);
System.out.println(
"POST 请求...."
+ post.getURI());
CloseableHttpResponse httpResponse = httpClient.execute(post);
try
{
HttpEntity entity = httpResponse.getEntity();
if
(
null
!= entity){
System.out.println(
"----------------"
);
System.out.println(EntityUtils.toString(uefEntity));
System.out.println(
"----------------"
);
}
}
finally
{
httpResponse.close();
}
}
catch
( UnsupportedEncodingException e){
e.printStackTrace();
}
catch
(IOException e) {
e.printStackTrace();
}
finally
{
try
{
closeHttpClient(httpClient);
}
catch
(Exception e){
e.printStackTrace();
}
}
}
private
CloseableHttpClient getHttpClient(){
return
HttpClients.createDefault();
}
private
void
closeHttpClient(CloseableHttpClient client)
throws
IOException{
if
(client !=
null
){
client.close();
}
}
}