1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
|
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(){
//创建默认的httpClient实例
CloseableHttpClient httpClient = getHttpClient();
try
{
//用get方法发送http请求
HttpGet get =
new
HttpGet(
"http://www.baidu.com"
);
System.out.println(
"执行get请求:...."
+get.getURI());
CloseableHttpResponse httpResponse =
null
;
//发送get请求
httpResponse = httpClient.execute(get);
try
{
//response实体
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"
));
//url格式编码
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();
}
}
}
|
利用HttpClient发送Get和Post请求
最新推荐文章于 2021-02-20 16:21:10 发布