HttpClient示例
来源:互联网 发布:java web 入门到精通 编辑:程序博客网 时间:2024/06/10 05:00
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
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
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.HttpResponse;
import
org.apache.http.NameValuePair;
import
org.apache.http.ParseException;
import
org.apache.http.client.ClientProtocolException;
import
org.apache.http.client.config.CookieSpecs;
import
org.apache.http.client.config.RequestConfig;
import
org.apache.http.client.entity.UrlEncodedFormEntity;
import
org.apache.http.client.methods.HttpGet;
import
org.apache.http.client.methods.HttpPost;
import
org.apache.http.config.Registry;
import
org.apache.http.config.RegistryBuilder;
import
org.apache.http.cookie.Cookie;
import
org.apache.http.cookie.CookieOrigin;
import
org.apache.http.cookie.CookieSpec;
import
org.apache.http.cookie.CookieSpecProvider;
import
org.apache.http.cookie.MalformedCookieException;
import
org.apache.http.impl.client.BasicCookieStore;
import
org.apache.http.impl.client.CloseableHttpClient;
import
org.apache.http.impl.client.HttpClients;
import
org.apache.http.impl.cookie.BestMatchSpecFactory;
import
org.apache.http.impl.cookie.BrowserCompatSpec;
import
org.apache.http.impl.cookie.BrowserCompatSpecFactory;
import
org.apache.http.message.BasicNameValuePair;
import
org.apache.http.protocol.HttpContext;
import
org.apache.http.util.EntityUtils;
public
class
HttpClientObject {
private
CloseableHttpClient httpClient =
null
;
private
HttpResponse response;
private
HttpPost httpPost =
null
;
private
HttpGet httpGet =
null
;
private
String paramKey =
""
;
private
String paramValue =
""
;
private
String responseString;
public
void
setParamKey(String paramKey) {
this
.paramKey = paramKey;
}
public
void
setParamValue(String paramValue) {
this
.paramValue = paramValue;
}
public
String getResponseString() {
return
responseString;
}
public
HttpClientObject() {
this
.getHttpClient();
}
private
List<NameValuePair> getRequestBody() {
NameValuePair pair1 =
new
BasicNameValuePair(paramKey, paramValue);
List<NameValuePair> pairList =
new
ArrayList<NameValuePair>();
pairList.add(pair1);
return
pairList;
}
public
void
submit() {
try
{
if
(httpPost !=
null
) {
response = httpClient.execute(httpPost);
httpPost =
null
;
}
if
(httpGet !=
null
) {
response = httpClient.execute(httpGet);
httpGet =
null
;
}
this
.response();
}
catch
(ClientProtocolException e) {
e.printStackTrace();
}
catch
(IOException e) {
e.printStackTrace();
}
}
private
void
response() {
try
{
HttpEntity httpEntity = response.getEntity();
responseString = EntityUtils.toString(httpEntity);
}
catch
(ClientProtocolException e) {
e.printStackTrace();
}
catch
(IOException e) {
e.printStackTrace();
}
}
public
void
setPost(String httpUrl) {
try
{
HttpEntity requestHttpEntity =
new
UrlEncodedFormEntity(
this
.getRequestBody());
httpPost =
new
HttpPost(httpUrl);
httpPost.setEntity(requestHttpEntity);
}
catch
(UnsupportedEncodingException e) {
e.printStackTrace();
}
catch
(ParseException e) {
e.printStackTrace();
}
}
public
void
setGet(String httpUrl) {
httpGet =
new
HttpGet(httpUrl);
}
private
void
getHttpClient() {
BasicCookieStore cookieStore =
new
BasicCookieStore();
CookieSpecProvider easySpecProvider =
new
CookieSpecProvider() {
public
CookieSpec create(HttpContext context) {
return
new
BrowserCompatSpec() {
@Override
public
void
validate(Cookie cookie, CookieOrigin origin)
throws
MalformedCookieException {
// Oh, I am easy
}
};
}
};
Registry<CookieSpecProvider> r = RegistryBuilder
.<CookieSpecProvider> create()
.register(CookieSpecs.BEST_MATCH,
new
BestMatchSpecFactory())
.register(CookieSpecs.BROWSER_COMPATIBILITY,
new
BrowserCompatSpecFactory())
.register(
"easy"
, easySpecProvider).build();
RequestConfig requestConfig = RequestConfig.custom()
.setCookieSpec(
"easy"
).setSocketTimeout(
10000
)
.setConnectTimeout(
10000
).build();
httpClient = HttpClients.custom().setDefaultCookieSpecRegistry(r)
.setDefaultRequestConfig(requestConfig)
.setDefaultCookieStore(cookieStore).build();
}
}
调用时:
1
2
3
4
HttpClientObject hco =
new
HttpClientObject();
hco.setGet(url);
hco.submit();
String responseContent = hco.getResponseString();
0 0
- HttpClient示例
- HttpClient示例
- HttpClient示例
- HttpClient 简单示例
- java HttpClient简单示例
- HttpClient入门示例
- HttpClient使用示例
- Httpclient远程调用WebService示例(Eclipse+httpclient
- Java的HttpClient 简单示例
- httpclient用户名密码认证示例
- httpclient 设置代理 PostMethod 示例
- Httpclient远程调用WebService示例(Eclipse+httpclient)
- Httpclient远程调用WebService示例(Eclipse+httpclient)
- Httpclient远程调用WebService示例(Eclipse+httpclient)
- HttpClient 的 abort(终止)程序示例
- HttpClient 的 Post 提交表单简单示例
- HttpClient 4.1.3模拟表单提交示例
- HttpClient 中的get, post使用示例
- AJAX
- 2091 空心三角形
- Combo Box用法
- 分布式与集群的区别
- leetcode 143. Reorder List
- HttpClient示例
- css针对各个浏览器的前缀是什么
- ecshop 后台订单导出
- php学习笔记06
- Cookie与Session
- Linux字符设备驱动
- GPUImage 的部分使用和介绍
- Java设计模式之工厂模式
- Linux系统调用及用户编程接口(API)学习