|
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 { privateCloseableHttpClient httpClient =
null; privateHttpResponse response; privateHttpPost httpPost =
null; privateHttpGet httpGet =
null; privateString paramKey =
""; privateString paramValue =
""; privateString responseString; publicvoid
setParamKey(String paramKey) { this.paramKey = paramKey; } publicvoid
setParamValue(String paramValue) { this.paramValue = paramValue; } publicString getResponseString() { returnresponseString; } publicHttpClientObject() { this.getHttpClient(); } privateList<NameValuePair> getRequestBody() { NameValuePair pair1 =new
BasicNameValuePair(paramKey, paramValue); List<NameValuePair> pairList =new
ArrayList<NameValuePair>(); pairList.add(pair1); returnpairList; } publicvoid
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(); } } privatevoid
response() { try{
HttpEntity httpEntity = response.getEntity(); responseString = EntityUtils.toString(httpEntity); }catch
(ClientProtocolException e) { e.printStackTrace(); }catch
(IOException e) { e.printStackTrace(); } } publicvoid
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(); } } publicvoid
setGet(String httpUrl) { httpGet =new
HttpGet(httpUrl); } privatevoid
getHttpClient() { BasicCookieStore cookieStore =new
BasicCookieStore(); CookieSpecProvider easySpecProvider =new
CookieSpecProvider() { publicCookieSpec create(HttpContext context) { returnnew
BrowserCompatSpec() { @Override publicvoid
validate(Cookie cookie, CookieOrigin origin) throwsMalformedCookieException { // Oh, I am easy } }; } }; Registry<CookieSpecProvider> r = RegistryBuilder .<CookieSpecProvider> create() .register(CookieSpecs.BEST_MATCH,new
BestMatchSpecFactory()) .register(CookieSpecs.BROWSER_COMPATIBILITY, newBrowserCompatSpecFactory()) .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(); |

2679

被折叠的 条评论
为什么被折叠?



